time="2024-05-23T10:04:40Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-authentication-1 Creating Container integration-test-device-1 Creating Container integration-test-gateway-1 Creating Container integration-test-federation-1 Creating Container integration-test-experiment-1 Creating Container integration-test-authorization-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-authentication-1 Created Container integration-test-experiment-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-05-23T10:05:08Z"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:36254","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-05-23T10:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36254","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.320293,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:09Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1716458709.2456377} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1716458709.2460027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1716458709.2460349} 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":1716458709.246058} 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":1716458709.2460787} 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":1716458709.2461338,"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":1716458709.246597} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1716458709.2473571} 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:47270","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-05-23T10:05:09.271281224Z","id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","name":"crosslab","updated_at":"2024-05-23T10:05:09.271281224Z"},"request_id":"f8abef3f-f888-4e00-89d8-ffedd723f0b7","subsystem":"openfga","timestamp":1716458709.2713647} 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:47270","raw_request":{"schema_version":"1.1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HYJEJRA3ZVBPQ456EZPTF1A3"},"request_id":"9c5ef4f6-024d-4268-aa69-61abff9e9e2c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458709.3159277} authorization-1 | {"client_addr":"127.0.0.1:36254","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-05-23T10:05:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36254","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.17559,"resp_status":204,"subsystem":"opa","time":"2024-05-23T10:05:09Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.64.1/opa_linux_amd64","latest_version":"0.64.1","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.64.1","subsystem":"opa","time":"2024-05-23T10:05:09Z"} gateway-1 | {"time_local":"23/May/2024:10:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.023","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"ed72aebd6c83d8566f671f245eb8c8f2"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 16ms","method":"HEAD","requestID":"ed72aebd6c83d8566f671f245eb8c8f2","responseTime":16,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"23/May/2024:10:05:17 +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.023","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"3eebdae77aa20b84b3ff6692fc86aeb7"} device-1 | {"level":"info","message":"HEAD /device/status 200 16ms","method":"HEAD","requestID":"f4f71770-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"23/May/2024:10:05:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"79c076f0d4e878778e2bb6d5414feefc"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 5ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"79c076f0d4e878778e2bb6d5414feefc"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"23/May/2024:10:05:17 +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.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c4ead83bc9dee8b51cba931b24b5e932"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 8ms","method":"HEAD","requestID":"f4fe6a70-18eb-11ef-b4b6-fb4b088283dc","responseTime":8,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"23/May/2024:10:05:17 +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.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"61a2b84f5550d1b02547bd42200bbcfd"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"f50177b0-18eb-11ef-834a-7b009609e93d","responseTime":9,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"23/May/2024:10:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6969b260b7216394f3f8568587f42b5"} authentication-1 | {"level":"info","message":"POST /login 201 123ms","method":"POST","requestID":"d6969b260b7216394f3f8568587f42b5","responseTime":123,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyMH0.TBRQvCyorCMqSsQbsPQ5N_DBxZ-gDFhj5dynG_HqsX8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 20ms","method":"GET","requestID":"19bbb32a3726a96c176a181ffa13ccb0","responseTime":20,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.822335,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458720,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyMH0.TBRQvCyorCMqSsQbsPQ5N_DBxZ-gDFhj5dynG_HqsX8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19bbb32a3726a96c176a181ffa13ccb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e438c18f-4917-455b-bfc0-c43457845e3e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.016777} 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":"19bbb32a3726a96c176a181ffa13ccb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00f32c77-0c3f-45c5-9e3f-6b515e94ba92","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.032562} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19bbb32a3726a96c176a181ffa13ccb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f72e2282-00b7-4036-b291-45b80726e4ab","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.0505002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2195c8d4-ffd7-4cd3-bd85-2f7c33f0ff39","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.0508006} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19bbb32a3726a96c176a181ffa13ccb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.050472214Z"}]},"request_id":"fca4ad78-cced-46f0-aba8-7c096c0e8503","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.0589046} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19bbb32a3726a96c176a181ffa13ccb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19bbb32a3726a96c176a181ffa13ccb0"} device-1 | {"level":"info","message":"POST /devices? 201 239ms","method":"POST","requestID":"19bbb32a3726a96c176a181ffa13ccb0","responseTime":239,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyMX0.3TqplDhcNrKAetvIDTMBko234p5Ql8YHxp0PLHxCjDk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eaf4b97f421e93349e1dd4060ffef83d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71103,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458721,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyMX0.3TqplDhcNrKAetvIDTMBko234p5Ql8YHxp0PLHxCjDk"} 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":"eaf4b97f421e93349e1dd4060ffef83d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d3a4f2c9-a579-44dd-a0d5-918ed8ab0eb0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.1239069} 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":"eaf4b97f421e93349e1dd4060ffef83d"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed464da2-72bb-4af0-ab6c-25d388fc6389","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.136562} 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":"eaf4b97f421e93349e1dd4060ffef83d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"934c3a94-9bfd-4942-b73f-48ec69d63db5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.1538515} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d9f4f22-b981-4a6e-8b94-d5c9d9731353","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.1539989} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eaf4b97f421e93349e1dd4060ffef83d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.153832098Z"}]},"request_id":"c6345f8f-8da5-454d-8c55-9431482f2ba2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458721.1677058} 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":"eaf4b97f421e93349e1dd4060ffef83d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eaf4b97f421e93349e1dd4060ffef83d"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"eaf4b97f421e93349e1dd4060ffef83d","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d53e5f58e33a525cb8c84d376ffa07a","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/de6468ed-21e9-4c82-832d-992c50c06ea9/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.011","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4d53e5f58e33a525cb8c84d376ffa07a"} device-1 | {"level":"info","message":"OPTIONS /devices/de6468ed-21e9-4c82-832d-992c50c06ea9/websocket 200 3ms","method":"OPTIONS","requestID":"4d53e5f58e33a525cb8c84d376ffa07a","responseTime":3,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"7596cde01f5212b80d2a4464507f1932","responseTime":8,"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 3ms","method":"GET","requestID":"fa2f1eb707590e73734b025453d3d916","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.013","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fa2f1eb707590e73734b025453d3d916"} device-1 | {"level":"info","message":"OPTIONS /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/websocket 200 1ms","method":"OPTIONS","requestID":"fa2f1eb707590e73734b025453d3d916","responseTime":1,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/websocket"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948815,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a04e090f1478c587ee3428130c18db91","responseTime":5,"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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7596cde01f5212b80d2a4464507f1932"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951118,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"a04e090f1478c587ee3428130c18db91"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/de6468ed-21e9-4c82-832d-992c50c06ea9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.090","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7596cde01f5212b80d2a4464507f1932"} device-1 | {"level":"info","message":"POST /devices/de6468ed-21e9-4c82-832d-992c50c06ea9/websocket 200 79ms","method":"POST","requestID":"7596cde01f5212b80d2a4464507f1932","responseTime":79,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.079","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a04e090f1478c587ee3428130c18db91"} device-1 | {"level":"info","message":"POST /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/websocket 200 66ms","method":"POST","requestID":"a04e090f1478c587ee3428130c18db91","responseTime":66,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"281ce5566aa1db2923cb98bc02df6aae","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825191,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"281ce5566aa1db2923cb98bc02df6aae"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.050472214Z"}]},"request_id":"5537ca0d-a63c-4e4d-9223-ec3d5b727854","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.3845336} 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":"281ce5566aa1db2923cb98bc02df6aae"},"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":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de6468ed-21e9-4c82-832d-992c50c06ea9? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"281ce5566aa1db2923cb98bc02df6aae"} device-1 | {"level":"info","message":"GET /devices/de6468ed-21e9-4c82-832d-992c50c06ea9? 200 25ms","method":"GET","requestID":"281ce5566aa1db2923cb98bc02df6aae","responseTime":25,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc39358f008db48c192166961578028f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261518,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"cc39358f008db48c192166961578028f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.153832098Z"}]},"request_id":"a3438f9e-13fc-43e8-9539-2df35258f9d1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.4208558} 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":"cc39358f008db48c192166961578028f"},"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":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc39358f008db48c192166961578028f"} device-1 | {"level":"info","message":"GET /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27? 200 27ms","method":"GET","requestID":"cc39358f008db48c192166961578028f","responseTime":27,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1f55a4343d91d7b1ad79f6a86478ae45","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:50018","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.768157,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"1f55a4343d91d7b1ad79f6a86478ae45"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"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:50018","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.636752,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"f86f7550-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135384,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"f86fc370-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.050472214Z"}]},"request_id":"b46899c2-e0f9-46fd-8a47-5934b9cf276b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.6365252} 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":"f86f7550-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.153832098Z"}]},"request_id":"d8012888-b005-4618-8a8a-6ef6a568edf0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.6448221} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f86fc370-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"GET /devices/de6468ed-21e9-4c82-832d-992c50c06ea9? 200 25ms","method":"GET","requestID":"f86f7550-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":25,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27? 200 27ms","method":"GET","requestID":"f86fc370-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":27,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"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:50018","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89054,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f882fd50-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071395,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"f8837280-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.439301,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dd39eef-a012-458c-ba33-ad67b193607c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.7730749} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","rebac_allow":false,"scope_allow":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":"f883c0a0-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.153832098Z"}]},"request_id":"1b86763d-a10c-4906-b458-235f8d3f4ca5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.7763364} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling 200 31ms","method":"POST","requestID":"f883c0a0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":31,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling"} 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":"f8837280-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.050472214Z"}]},"request_id":"417ec8bd-6808-4dc7-a456-87750211b0fa","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.7828338} 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":"f882fd50-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F492c0fcd-ff53-4253-b50d-932c9106d37f#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F492c0fcd-ff53-4253-b50d-932c9106d37f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"26ec6b72-3e28-4cfb-96b7-3b8fd03b5934","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.7918656} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdba473e-3c16-4ff8-b9f0-22a42a624ea5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.7922077} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f55a4343d91d7b1ad79f6a86478ae45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":34}} device-1 | {"level":"info","message":"GET /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27? 200 47ms","method":"GET","requestID":"f8837280-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":47,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} device-1 | {"level":"info","message":"GET /devices/de6468ed-21e9-4c82-832d-992c50c06ea9? 200 51ms","method":"GET","requestID":"f882fd50-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":51,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edc54e70-f0c2-420d-8355-7c56c805e75c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.8038304} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.341362,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","rebac_allow":false,"scope_allow":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":"f8898d00-18eb-11ef-b4a6-53fbcbef7f4b"},"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"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling 200 23ms","method":"POST","requestID":"f8898d00-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0112f3e5-0deb-4921-ba0c-af8c2295658b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.8176289} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.206097,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} gateway-1 | {"time_local":"23/May/2024:10:05: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.384","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f55a4343d91d7b1ad79f6a86478ae45"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","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 362ms","method":"POST","requestID":"1f55a4343d91d7b1ad79f6a86478ae45","responseTime":362,"status":201,"url":"/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":"f88c4c20-18eb-11ef-b4a6-53fbcbef7f4b"},"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/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling 200 15ms","method":"POST","requestID":"f88c4c20-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI","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":"34df98d2d47c45fd07a5f4a3e5549a0e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1114cbef-23f8-4dd2-a213-44ff47066f53","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.835042} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.138596,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808683,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","rebac_allow":false,"scope_allow":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":"f88f3250-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} 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":"34df98d2d47c45fd07a5f4a3e5549a0e"},"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/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling 200 16ms","method":"POST","requestID":"f88f3250-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.050472214Z"}]},"request_id":"437c5beb-dc40-47f5-9aba-618a843af265","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.8467155} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"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":"34df98d2d47c45fd07a5f4a3e5549a0e"},"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":"8e61ef17-14df-4803-9c3a-143d3226b596"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"919d3c44-46cf-4833-bd42-77c9f88a5a65"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7337e70b-fa58-458c-8565-7429bda13207"}]},"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/de6468ed-21e9-4c82-832d-992c50c06ea9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de6468ed-21e9-4c82-832d-992c50c06ea9? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34df98d2d47c45fd07a5f4a3e5549a0e"} device-1 | {"level":"info","message":"GET /devices/de6468ed-21e9-4c82-832d-992c50c06ea9? 200 21ms","method":"GET","requestID":"34df98d2d47c45fd07a5f4a3e5549a0e","responseTime":21,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bf10c8a5ad799d9cb37a1b8ed20754b4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.451524,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8935100-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65451,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458723,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyM30.EgUx400-Bje3abJ39kPm1Ahsx2HU6mmpLnc1D2W9iwI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf10c8a5ad799d9cb37a1b8ed20754b4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:21.153832098Z"}]},"request_id":"a364dccf-83e6-4221-b706-84ddeb54ba29","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.871463} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf10c8a5ad799d9cb37a1b8ed20754b4"},"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":"23/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf10c8a5ad799d9cb37a1b8ed20754b4"} device-1 | {"level":"info","message":"GET /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27? 200 16ms","method":"GET","requestID":"bf10c8a5ad799d9cb37a1b8ed20754b4","responseTime":16,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"84ec3ce0-605f-449f-8161-e211c9279dec","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.9167898} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22df0307-da48-44ce-94bf-8933abeeb3e5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.9171886} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","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":"f8935100-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":46}} 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/55f2efc3-68a6-4aed-baab-c96e7499e5a6'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6'"} 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 88ms","method":"POST","requestID":"f8935100-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":88,"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/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f37d8a6e-8e4b-4510-aaf9-2944b8abccc4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458723.9932315} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.58079,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"f8a74e30-18eb-11ef-b4a6-53fbcbef7f4b"},"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/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling 200 11ms","method":"POST","requestID":"f8a74e30-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2de3fa95-c5dc-4205-89be-7eef08bafd8d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.0070322} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.614702,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","rebac_allow":false,"scope_allow":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":"f8a99820-18eb-11ef-b4a6-53fbcbef7f4b"},"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/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling 200 13ms","method":"POST","requestID":"f8a99820-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55f2efc3-68a6-4aed-baab-c96e7499e5a6","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e948a6e55af0d3651800a23cf97f2083","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"e948a6e55af0d3651800a23cf97f2083","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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.017","http_referrer":"","http_user_agent":"node-fetch","requestID":"e948a6e55af0d3651800a23cf97f2083"} device-1 | {"data":{"peerconnection":"55f2efc3-68a6-4aed-baab-c96e7499e5a6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"55f2efc3-68a6-4aed-baab-c96e7499e5a6","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/55f2efc3-68a6-4aed-baab-c96e7499e5a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55f2efc3-68a6-4aed-baab-c96e7499e5a6","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":"7f7f58289ab376baecc1cc02f85d139d","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/de6468ed-21e9-4c82-832d-992c50c06ea9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55f2efc3-68a6-4aed-baab-c96e7499e5a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1db1dbb-8893-470a-9b8a-1d0a32507fdf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.1252553} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.28942,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6","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":"f8bb9980-18eb-11ef-b4a6-53fbcbef7f4b"},"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/55f2efc3-68a6-4aed-baab-c96e7499e5a6 200 10ms","method":"GET","requestID":"f8bb9980-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a34436f43dec9f06e9a26ea48bf29e2a","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"7f7f58289ab376baecc1cc02f85d139d","responseTime":40,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} gateway-1 | {"time_local":"23/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"7f7f58289ab376baecc1cc02f85d139d"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.808494,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458724,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw"} 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":"a34436f43dec9f06e9a26ea48bf29e2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4ea34b9-0666-49aa-9893-990b68e1b131","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.1599772} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253332,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","rebac_allow":false,"scope_allow":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":"f8c0f0b0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/492c0fcd-ff53-4253-b50d-932c9106d37f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling 200 10ms","method":"POST","requestID":"f8c0f0b0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling"} gateway-1 | {"time_local":"23/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/492c0fcd-ff53-4253-b50d-932c9106d37f 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":"a34436f43dec9f06e9a26ea48bf29e2a"} experiment-1 | {"level":"info","message":"GET /experiments/492c0fcd-ff53-4253-b50d-932c9106d37f 200 18ms","method":"GET","requestID":"a34436f43dec9f06e9a26ea48bf29e2a","responseTime":18,"status":200,"url":"/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea5d77ba3c255267de082793d40540a2","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a5fcd79-a69d-4560-81ed-20168d2d9c68","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.1754835} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.353574,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8c33aa0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.635646,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling 200 9ms","method":"POST","requestID":"f8c33aa0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458724,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea5d77ba3c255267de082793d40540a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.069538,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458724,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw"} 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":"f8c620d0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/55f2efc3-68a6-4aed-baab-c96e7499e5a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"55f2efc3-68a6-4aed-baab-c96e7499e5a6","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":"c2f3f83f1750ced52570169de2428c82","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6"}}},"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":"3af6120b45c9b6810ded1fc6c9b4468c","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/de6468ed-21e9-4c82-832d-992c50c06ea9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55f2efc3-68a6-4aed-baab-c96e7499e5a6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F55f2efc3-68a6-4aed-baab-c96e7499e5a6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"3ff0621b-197d-4e37-b361-fd4f224a16c5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.219359} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d51fe2c-933b-4e8e-9ae0-919eca5fa9a5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.2197158} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8c620d0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"data":{"peerconnection":"55f2efc3-68a6-4aed-baab-c96e7499e5a6","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/55f2efc3-68a6-4aed-baab-c96e7499e5a6 204 58ms","method":"DELETE","requestID":"f8c620d0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":58,"status":204,"url":"/peerconnections/55f2efc3-68a6-4aed-baab-c96e7499e5a6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde6468ed-21e9-4c82-832d-992c50c06ea9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"631a508e-d26c-48ed-8070-619f204c8a96","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.274762} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.595987,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"f8d207b0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling 200 14ms","method":"POST","requestID":"f8d207b0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/de6468ed-21e9-4c82-832d-992c50c06ea9/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F492c0fcd-ff53-4253-b50d-932c9106d37f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F492c0fcd-ff53-4253-b50d-932c9106d37f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"ed1d5ff8-34f7-4bc5-8573-e60819fb47e9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.282939} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0600ade0-e7bf-451c-910d-9cb45829d2cd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.2833574} 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":"ea5d77ba3c255267de082793d40540a2"},"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:50018","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110ccfac-96f4-4bd3-97f7-cb49423f3d27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52afb264-754c-4501-ad78-edd95977c7fe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.288309} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.226035,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8d49fc0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling 200 10ms","method":"POST","requestID":"f8d49fc0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/110ccfac-96f4-4bd3-97f7-cb49423f3d27/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"} gateway-1 | {"time_local":"23/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/492c0fcd-ff53-4253-b50d-932c9106d37f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea5d77ba3c255267de082793d40540a2"} experiment-1 | {"level":"info","message":"DELETE /experiments/492c0fcd-ff53-4253-b50d-932c9106d37f 204 175ms","method":"DELETE","requestID":"ea5d77ba3c255267de082793d40540a2","responseTime":175,"status":204,"url":"/experiments/492c0fcd-ff53-4253-b50d-932c9106d37f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"c2f3f83f1750ced52570169de2428c82","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2f3f83f1750ced52570169de2428c82"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"16e9ad6ea401e01bcb5a4af4f534b0bf","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"3af6120b45c9b6810ded1fc6c9b4468c","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"3af6120b45c9b6810ded1fc6c9b4468c"} gateway-1 | {"time_local":"23/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.020","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"12b0efc2cc17bbd417f06dac6595ded4"} gateway-1 | {"time_local":"23/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ffa723a487b7ffaf729605482a684347"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.783267,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458724,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw"} 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":"16e9ad6ea401e01bcb5a4af4f534b0bf"},"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/110ccfac-96f4-4bd3-97f7-cb49423f3d27' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/de6468ed-21e9-4c82-832d-992c50c06ea9' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"79fb5e16-7bf6-44df-8c25-b2f844e89af7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.3815885} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16e9ad6ea401e01bcb5a4af4f534b0bf"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02adb897-6f2b-4cab-88f2-1189e213c368","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.3867302} 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":"16e9ad6ea401e01bcb5a4af4f534b0bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"7926046d-15a7-488b-8161-f8104a1ed382","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.3994777} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ab74735-08e5-46b6-8d60-0133400d2885","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.3995857} 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":"16e9ad6ea401e01bcb5a4af4f534b0bf"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.399468110Z"}]},"request_id":"fe8415e6-bdb3-4e08-a9d5-b8dea698da64","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.4035256} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16e9ad6ea401e01bcb5a4af4f534b0bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16e9ad6ea401e01bcb5a4af4f534b0bf"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"16e9ad6ea401e01bcb5a4af4f534b0bf","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"045450b891578bfacab2125d1774b9b1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.673296,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458724,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNH0.wbilNj_-do5Wy8lAEwJ0xByW7rnLNx5GlHhzm5EQbVw"} 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":"045450b891578bfacab2125d1774b9b1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5e1ce34-f631-437d-b29d-10e9493c4a11","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.4290328} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"045450b891578bfacab2125d1774b9b1"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b0a343e-e23c-455b-aa7a-2dd9fcc459b2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.4336028} 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":"045450b891578bfacab2125d1774b9b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e791cd81-bb58-4424-a44b-f7640f07a357","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.4442039} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fef7516-cd56-4a58-9eee-075656860055","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.4445565} 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":"045450b891578bfacab2125d1774b9b1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.444189882Z"}]},"request_id":"203f33e8-b104-4ca9-a39c-430a22bbd6ab","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458724.4502397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"045450b891578bfacab2125d1774b9b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"045450b891578bfacab2125d1774b9b1"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"045450b891578bfacab2125d1774b9b1","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNX0.vPkCyDofp2aXZd9ZcDx1Mjl2PvasKM5DfXqdICb7Sto","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"17d16d64cdae635fbb674b43fda0fc0d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:25Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.387488,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458725,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNX0.vPkCyDofp2aXZd9ZcDx1Mjl2PvasKM5DfXqdICb7Sto"} 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":"17d16d64cdae635fbb674b43fda0fc0d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.444189882Z"}]},"request_id":"8c9a00c2-141a-45a9-b3ec-7319dee22823","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458725.049512} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d16d64cdae635fbb674b43fda0fc0d"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb261d24-e251-42d8-8315-594a1db7abd6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458725.0588167} 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":"17d16d64cdae635fbb674b43fda0fc0d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.444189882Z"}]},"request_id":"24019e4f-6a5c-4dd3-b9f2-49c8aa1b56d4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458725.0759149} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d16d64cdae635fbb674b43fda0fc0d"},"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":"23/May/2024:10:05:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/79ca6f46-901d-4c61-bd99-d140d00abd22 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.075","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"17d16d64cdae635fbb674b43fda0fc0d"} device-1 | {"level":"info","message":"PATCH /devices/79ca6f46-901d-4c61-bd99-d140d00abd22 200 67ms","method":"PATCH","requestID":"17d16d64cdae635fbb674b43fda0fc0d","responseTime":67,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNX0.vPkCyDofp2aXZd9ZcDx1Mjl2PvasKM5DfXqdICb7Sto","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eb1f68c66d15d7706df2c828caad432c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:25Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330726,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458725,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNX0.vPkCyDofp2aXZd9ZcDx1Mjl2PvasKM5DfXqdICb7Sto"} 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":"eb1f68c66d15d7706df2c828caad432c"},"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":"23/May/2024:10:05:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/79ca6f46-901d-4c61-bd99-d140d00abd22/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"eb1f68c66d15d7706df2c828caad432c"} device-1 | {"level":"info","message":"POST /devices/79ca6f46-901d-4c61-bd99-d140d00abd22/websocket 200 26ms","method":"POST","requestID":"eb1f68c66d15d7706df2c828caad432c","responseTime":26,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22' 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":"aa7216d433357f651d1a768256a8a266","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/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":"aa7216d433357f651d1a768256a8a266"} device-1 | {"level":"info","message":"OPTIONS /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/websocket 200 1ms","method":"OPTIONS","requestID":"aa7216d433357f651d1a768256a8a266","responseTime":1,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f88350e2cbfdb90f48956e754f57a776","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314301,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f88350e2cbfdb90f48956e754f57a776"},"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/f4fc2992-62c0-40b4-ab63-b5c3c501442f/websocket 200 36ms","method":"POST","requestID":"f88350e2cbfdb90f48956e754f57a776","responseTime":36,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/websocket"} gateway-1 | {"time_local":"23/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f88350e2cbfdb90f48956e754f57a776"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8f7c0beda70e4afe3642225938dc34bb","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.16206,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f7c0beda70e4afe3642225938dc34bb"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.399468110Z"}]},"request_id":"caf9f6c2-6fdc-4b5e-ae37-0bb969b35c78","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.5110126} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f7c0beda70e4afe3642225938dc34bb"},"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":"23/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f7c0beda70e4afe3642225938dc34bb"} device-1 | {"level":"info","message":"GET /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f? 200 20ms","method":"GET","requestID":"8f7c0beda70e4afe3642225938dc34bb","responseTime":20,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2c01fbb72947344a4f76a23d9bf0298d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343288,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} 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":"2c01fbb72947344a4f76a23d9bf0298d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.444189882Z"}]},"request_id":"dd3323ea-8735-4a5a-bc28-30c890b712fb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.5443342} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c01fbb72947344a4f76a23d9bf0298d"},"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/79ca6f46-901d-4c61-bd99-d140d00abd22? 200 21ms","method":"GET","requestID":"2c01fbb72947344a4f76a23d9bf0298d","responseTime":21,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22?"} gateway-1 | {"time_local":"23/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/79ca6f46-901d-4c61-bd99-d140d00abd22? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c01fbb72947344a4f76a23d9bf0298d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"713004611bdb24b903226967873fefa3","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:50018","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.227685,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"713004611bdb24b903226967873fefa3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"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:50018","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.958946,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} 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":"fa3bd0e0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.467262,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} 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":"fa3c4610-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.399468110Z"}]},"request_id":"a8b5a43f-f6a5-4aeb-8826-fc01bfdb4860","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.6543715} 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":"fa3bd0e0-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.444189882Z"}]},"request_id":"29219bea-2192-48d3-aa6c-b7cb371f02ef","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.655852} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa3c4610-18eb-11ef-b4a6-53fbcbef7f4b"},"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/f4fc2992-62c0-40b4-ab63-b5c3c501442f? 200 26ms","method":"GET","requestID":"fa3bd0e0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/79ca6f46-901d-4c61-bd99-d140d00abd22? 200 24ms","method":"GET","requestID":"fa3c4610-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"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:50018","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167717,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} 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":"fa493e60-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.458878,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} 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":"fa49b390-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.127283,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fa7f236-fc32-427d-99bd-aa8ba42ec82f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.7449496} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.399468110Z"}]},"request_id":"f0be713d-74f4-47d8-8702-1a4a0e322d00","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.7499712} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa4a28c0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa493e60-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.444189882Z"}]},"request_id":"713be5cc-cfbd-4a56-ab94-c0bc592143b6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.752853} 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":"fa49b390-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling 200 32ms","method":"POST","requestID":"fa4a28c0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":32,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f? 200 42ms","method":"GET","requestID":"fa493e60-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":42,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5958e56e-26a2-4b25-aa11-95560a91210d#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5958e56e-26a2-4b25-aa11-95560a91210d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"92052702-a6c3-4ac6-b600-9e2c71c01f0c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.7695951} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41c042f0-8cc8-41d6-9df7-2f8025db29f2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.770275} device-1 | {"level":"info","message":"GET /devices/79ca6f46-901d-4c61-bd99-d140d00abd22? 200 45ms","method":"GET","requestID":"fa49b390-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":45,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"713004611bdb24b903226967873fefa3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":35}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fb40e6b-7d4a-49d4-a5ca-38d7a0925bff","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.779539} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.440213,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","rebac_allow":false,"scope_allow":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":"fa4fce10-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling 200 19ms","method":"POST","requestID":"fa4fce10-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86d230dc-9969-4010-b397-0057bcdb3fe6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.789705} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.263889,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","rebac_allow":false,"scope_allow":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":"fa517bc0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:05: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.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"713004611bdb24b903226967873fefa3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 232ms","method":"POST","requestID":"713004611bdb24b903226967873fefa3","responseTime":232,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling 200 19ms","method":"POST","requestID":"fa517bc0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4","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":"6f1735c09d2a24ca10a50fd1ef2bdf8b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36f1f743-b572-4a7e-a55f-26b5f813f90e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.807349} authorization-1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91719,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f1735c09d2a24ca10a50fd1ef2bdf8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.781946,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","rebac_allow":false,"scope_allow":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":"fa54d720-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.399468110Z"}]},"request_id":"3b586dcc-7bb6-436b-ab8e-a0c46ce075cb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.8147042} device-1 | {"level":"info","message":"POST /devices/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling 200 13ms","method":"POST","requestID":"fa54d720-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22/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":"6f1735c09d2a24ca10a50fd1ef2bdf8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"26d9b767-e98e-454c-9e02-b40e4c9d2d5a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7c2c6270-16d7-4c26-b2f9-9cf93580cc92"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"09ece8c5-f134-49bc-a549-34a298820e1a"}]},"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/79ca6f46-901d-4c61-bd99-d140d00abd22"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f1735c09d2a24ca10a50fd1ef2bdf8b"} device-1 | {"level":"info","message":"GET /devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f? 200 15ms","method":"GET","requestID":"6f1735c09d2a24ca10a50fd1ef2bdf8b","responseTime":15,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.777905,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa579640-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f390517e41719851af61891ebdadda59","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169131,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458726,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyNn0.ywAQ37wZKMK_YpPPEj3fW9ghS-vV-_VtJCuJo09Ubr4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f390517e41719851af61891ebdadda59"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"325753f8-2697-4a4a-b9af-e26cb381674a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.8393111} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c5584fe-e2de-4ec8-85d4-e0b9beeb6d4d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.8395245} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:24.444189882Z"}]},"request_id":"4b097b6d-6697-467d-b2cd-d39a3a7eac04","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.8412397} 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":"fa579640-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f390517e41719851af61891ebdadda59"},"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/79ca6f46-901d-4c61-bd99-d140d00abd22? 200 21ms","method":"GET","requestID":"f390517e41719851af61891ebdadda59","responseTime":21,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22?"} gateway-1 | {"time_local":"23/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/79ca6f46-901d-4c61-bd99-d140d00abd22? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f390517e41719851af61891ebdadda59"} 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/ffeaf706-1018-4acc-b857-10f6204fb16d'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d'"} 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":"fa579640-18eb-11ef-b4a6-53fbcbef7f4b","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/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"063cd099-f2fb-453b-82bb-ede7dc81e965","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.8974924} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.56586,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"fa6292c0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling 200 14ms","method":"POST","requestID":"fa6292c0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"499a1b55-d09a-4249-9dfc-26cb2a5c59c1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458726.9139435} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.461599,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","rebac_allow":false,"scope_allow":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":"fa652ad0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling 200 9ms","method":"POST","requestID":"fa652ad0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling"} device-1 | {"data":{"peerconnection":"ffeaf706-1018-4acc-b857-10f6204fb16d","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/ffeaf706-1018-4acc-b857-10f6204fb16d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ffeaf706-1018-4acc-b857-10f6204fb16d","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":"0cbb489b6b8c1b9c65bc8ae9481d3b25","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/79ca6f46-901d-4c61-bd99-d140d00abd22"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"0cbb489b6b8c1b9c65bc8ae9481d3b25","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"0cbb489b6b8c1b9c65bc8ae9481d3b25"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f'"} device-1 | {"data":{"peerconnection":"ffeaf706-1018-4acc-b857-10f6204fb16d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ffeaf706-1018-4acc-b857-10f6204fb16d","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/ffeaf706-1018-4acc-b857-10f6204fb16d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ffeaf706-1018-4acc-b857-10f6204fb16d","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":"a6f3bd2d2af00aafee1a9e603506af0d","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/79ca6f46-901d-4c61-bd99-d140d00abd22"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:28Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fffeaf706-1018-4acc-b857-10f6204fb16d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12c97d6d-75a9-431c-ad4b-658f9e76300c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458728.9857767} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.756957,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d","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":"fba12d40-18eb-11ef-b4a6-53fbcbef7f4b"},"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/ffeaf706-1018-4acc-b857-10f6204fb16d 200 11ms","method":"GET","requestID":"fba12d40-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"a6f3bd2d2af00aafee1a9e603506af0d","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6f3bd2d2af00aafee1a9e603506af0d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e41308d0-840a-4d10-85f6-daed0b9f5c40","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.0139015} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.11609,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"fba57300-18eb-11ef-b4a6-53fbcbef7f4b"},"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/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling 200 12ms","method":"POST","requestID":"fba57300-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9ad6302-c4af-4765-8092-f4c531a258e7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.0292332} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.091357,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","rebac_allow":false,"scope_allow":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":"fba7bcf0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling 200 11ms","method":"POST","requestID":"fba7bcf0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa2975177bc58e92acb1afb35fc6916c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5958e56e-26a2-4b25-aa11-95560a91210d"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.762925,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458729,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE"} 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":"fa2975177bc58e92acb1afb35fc6916c"},"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/5958e56e-26a2-4b25-aa11-95560a91210d"} gateway-1 | {"time_local":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5958e56e-26a2-4b25-aa11-95560a91210d HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa2975177bc58e92acb1afb35fc6916c"} experiment-1 | {"level":"info","message":"GET /experiments/5958e56e-26a2-4b25-aa11-95560a91210d 200 19ms","method":"GET","requestID":"fa2975177bc58e92acb1afb35fc6916c","responseTime":19,"status":200,"url":"/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d2f24e5a23dae09bd10ac2e319f35529","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5958e56e-26a2-4b25-aa11-95560a91210d"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.253831,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458729,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE"} 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":"d2f24e5a23dae09bd10ac2e319f35529"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.390702,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458729,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE"} 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":"fbb3f1f0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/ffeaf706-1018-4acc-b857-10f6204fb16d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ffeaf706-1018-4acc-b857-10f6204fb16d","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":"ca2d42cb4bd3aac47e48d52ef972865e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fffeaf706-1018-4acc-b857-10f6204fb16d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fffeaf706-1018-4acc-b857-10f6204fb16d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"9a777667-d102-4dfb-9639-3160539a2dc9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.1327245} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5e384bde0d278ed4573b70b81ffe1a8e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d"}}},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f491bd1-ae3a-45e0-a14e-f290c03a3349","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.133234} 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":"fbb3f1f0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ffeaf706-1018-4acc-b857-10f6204fb16d","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/ffeaf706-1018-4acc-b857-10f6204fb16d 204 68ms","method":"DELETE","requestID":"fbb3f1f0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":68,"status":204,"url":"/peerconnections/ffeaf706-1018-4acc-b857-10f6204fb16d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F79ca6f46-901d-4c61-bd99-d140d00abd22","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d291cc0-2230-42ca-859f-84ccb9b2af55","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.2078404} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.816601,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/79ca6f46-901d-4c61-bd99-d140d00abd22","object_type":"device","rebac_allow":false,"scope_allow":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":"fbc2bf00-18eb-11ef-b4a6-53fbcbef7f4b"},"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/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling 200 16ms","method":"POST","requestID":"fbc2bf00-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/79ca6f46-901d-4c61-bd99-d140d00abd22/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5958e56e-26a2-4b25-aa11-95560a91210d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5958e56e-26a2-4b25-aa11-95560a91210d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"c7ecc320-606d-4eee-8472-c12ad046a299","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.2177675} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb3a042f-b5c9-40bb-918a-4c6cb02a553d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.2181284} 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":"d2f24e5a23dae09bd10ac2e319f35529"},"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:50018","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff4fc2992-62c0-40b4-ab63-b5c3c501442f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ef23259-cdc2-4a02-a172-3786f42bfa67","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.2289565} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.031633,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f","object_type":"device","rebac_allow":false,"scope_allow":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":"fbc5cc40-18eb-11ef-b4a6-53fbcbef7f4b"},"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/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling 200 17ms","method":"POST","requestID":"fbc5cc40-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5958e56e-26a2-4b25-aa11-95560a91210d"} gateway-1 | {"time_local":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5958e56e-26a2-4b25-aa11-95560a91210d 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":"d2f24e5a23dae09bd10ac2e319f35529"} gateway-1 | {"time_local":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2990","request_time":"4.165","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e4e058adbcae1cb1a2e0d1e013eb4ca9"} experiment-1 | {"level":"info","message":"DELETE /experiments/5958e56e-26a2-4b25-aa11-95560a91210d 204 208ms","method":"DELETE","requestID":"d2f24e5a23dae09bd10ac2e319f35529","responseTime":208,"status":204,"url":"/experiments/5958e56e-26a2-4b25-aa11-95560a91210d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"ca2d42cb4bd3aac47e48d52ef972865e","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"ca2d42cb4bd3aac47e48d52ef972865e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 159ms","method":"POST","requestID":"5e384bde0d278ed4573b70b81ffe1a8e","responseTime":159,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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":"5e384bde0d278ed4573b70b81ffe1a8e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5ab4fd2b9a1a5c39ad25c2bd44255d98","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.830","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cc8487800a3c00266ba77ab29aba68f9"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.991314,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458729,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE"} 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":"5ab4fd2b9a1a5c39ad25c2bd44255d98"},"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/79ca6f46-901d-4c61-bd99-d140d00abd22' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5f1ff587-d2eb-4ec9-bf6a-a11bd1e28cca","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3216183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ab4fd2b9a1a5c39ad25c2bd44255d98"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f4fc2992-62c0-40b4-ab63-b5c3c501442f' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc9bd3b1-5982-4088-80fe-0db810bae9f4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3271968} 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":"5ab4fd2b9a1a5c39ad25c2bd44255d98"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"62f3cf59-5d7f-4131-ad96-9d8d38c3c450","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.336448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05a05224-eccb-4fe0-86f5-dfb712929d40","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3365927} 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":"5ab4fd2b9a1a5c39ad25c2bd44255d98"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.336434145Z"}]},"request_id":"87d16519-fb18-456b-887e-db515fd665d9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3414323} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ab4fd2b9a1a5c39ad25c2bd44255d98"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ab4fd2b9a1a5c39ad25c2bd44255d98"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"5ab4fd2b9a1a5c39ad25c2bd44255d98","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6aee10a307caae13f80397528af5fc6b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.728345,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458729,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE"} 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":"6aee10a307caae13f80397528af5fc6b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f688328-723f-47c2-a276-e02d9659d461","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3672101} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6aee10a307caae13f80397528af5fc6b"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1defd87c-da66-4db7-a4e8-660e0ca41b62","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3722675} 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":"6aee10a307caae13f80397528af5fc6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"48dd0d9d-7815-4c44-908a-e9019c52d1da","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3843536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0851facc-54f8-470c-ae5c-0d3a0a8667a5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.3845232} 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":"6aee10a307caae13f80397528af5fc6b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.384340020Z"}]},"request_id":"77d643a7-266a-4dd7-be8a-90eb1bffe3e7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.390363} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6aee10a307caae13f80397528af5fc6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6aee10a307caae13f80397528af5fc6b"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"6aee10a307caae13f80397528af5fc6b","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17d5a5f958a0318b39b714d23b8e69c1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.001144,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458729,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d5a5f958a0318b39b714d23b8e69c1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.336434145Z"}]},"request_id":"19f8266d-fa58-4f1c-85d9-aaaed4416495","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.8825219} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d5a5f958a0318b39b714d23b8e69c1"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cf796f2-b615-4e25-ada8-d4259bbbaf82","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.8906891} 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":"17d5a5f958a0318b39b714d23b8e69c1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.336434145Z"}]},"request_id":"b04f72f2-8913-4db1-983e-35e550515397","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458729.9178004} 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":"17d5a5f958a0318b39b714d23b8e69c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/9d96961c-391d-4d84-91f0-a538840db834 200 55ms","method":"PATCH","requestID":"17d5a5f958a0318b39b714d23b8e69c1","responseTime":55,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834"} gateway-1 | {"time_local":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9d96961c-391d-4d84-91f0-a538840db834 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"17d5a5f958a0318b39b714d23b8e69c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b64b9f772077c3773f4e53ba9bdb1f9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.161299,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458729,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODcyOX0.YMtQvnOaZDpjXU2y6XH_W7gyP56d1-LGiVghxD_HaDE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b64b9f772077c3773f4e53ba9bdb1f9"},"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":"23/May/2024:10:05:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9d96961c-391d-4d84-91f0-a538840db834/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4b64b9f772077c3773f4e53ba9bdb1f9"} device-1 | {"level":"info","message":"POST /devices/9d96961c-391d-4d84-91f0-a538840db834/websocket 200 24ms","method":"POST","requestID":"4b64b9f772077c3773f4e53ba9bdb1f9","responseTime":24,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834' 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":"80c6a53ff2ce312cdffd52d1b3071fd0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6c35990d-283f-4257-b64b-f0de8320c6dc/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":"80c6a53ff2ce312cdffd52d1b3071fd0"} device-1 | {"level":"info","message":"OPTIONS /devices/6c35990d-283f-4257-b64b-f0de8320c6dc/websocket 200 2ms","method":"OPTIONS","requestID":"80c6a53ff2ce312cdffd52d1b3071fd0","responseTime":2,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f426fd45586b94f8df98e26463aa8b6b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.522034,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} 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":"f426fd45586b94f8df98e26463aa8b6b"},"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/6c35990d-283f-4257-b64b-f0de8320c6dc/websocket 200 42ms","method":"POST","requestID":"f426fd45586b94f8df98e26463aa8b6b","responseTime":42,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc/websocket"} gateway-1 | {"time_local":"23/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6c35990d-283f-4257-b64b-f0de8320c6dc/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":"f426fd45586b94f8df98e26463aa8b6b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9696f1b8733bf52ef3f683b1f1e47367","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79456,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9696f1b8733bf52ef3f683b1f1e47367"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.336434145Z"}]},"request_id":"85818242-596c-4f42-9650-a82a735a0041","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.4701917} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9696f1b8733bf52ef3f683b1f1e47367"},"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":"23/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d96961c-391d-4d84-91f0-a538840db834? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9696f1b8733bf52ef3f683b1f1e47367"} device-1 | {"level":"info","message":"GET /devices/9d96961c-391d-4d84-91f0-a538840db834? 200 16ms","method":"GET","requestID":"9696f1b8733bf52ef3f683b1f1e47367","responseTime":16,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"84c1779d36773a155fda0e6eb1691eca","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008796,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84c1779d36773a155fda0e6eb1691eca"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.384340020Z"}]},"request_id":"ebc3ec98-ef07-40d5-a220-4ee62cfa04c7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.4899652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84c1779d36773a155fda0e6eb1691eca"},"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/6c35990d-283f-4257-b64b-f0de8320c6dc? 200 14ms","method":"GET","requestID":"84c1779d36773a155fda0e6eb1691eca","responseTime":14,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc?"} gateway-1 | {"time_local":"23/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c35990d-283f-4257-b64b-f0de8320c6dc? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84c1779d36773a155fda0e6eb1691eca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"adb8a2fd49b35bde06d37d1b48a29a7a","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:50018","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.202301,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} 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":"adb8a2fd49b35bde06d37d1b48a29a7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"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:50018","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.090954,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} 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":"fd2c1300-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055349,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} 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":"fd2c6120-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.336434145Z"}]},"request_id":"db10518b-232b-4e26-852d-8b82f2d503aa","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.5840707} 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":"fd2c1300-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.384340020Z"}]},"request_id":"ff263afe-739e-4573-bb33-3e9f22d70df8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.591993} device-1 | {"level":"info","message":"GET /devices/9d96961c-391d-4d84-91f0-a538840db834? 200 24ms","method":"GET","requestID":"fd2c1300-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd2c6120-18eb-11ef-b4a6-53fbcbef7f4b"},"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/6c35990d-283f-4257-b64b-f0de8320c6dc? 200 28ms","method":"GET","requestID":"fd2c6120-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":28,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"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:50018","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926077,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd3d5110-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.958875,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} 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":"fd3dc640-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.802638,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87d34cd6-8a79-4788-ba32-f9a93b5c5853","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.6970818} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","rebac_allow":false,"scope_allow":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":"fd3e1460-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.384340020Z"}]},"request_id":"42e4a446-6717-45bf-bb7e-17bee9f2d02e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7022123} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd3dc640-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"POST /devices/9d96961c-391d-4d84-91f0-a538840db834/signaling 200 22ms","method":"POST","requestID":"fd3e1460-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834/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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.336434145Z"}]},"request_id":"34cad3d7-5ba5-4c10-8a2b-62b569956b97","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7069561} 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":"fd3d5110-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6c35990d-283f-4257-b64b-f0de8320c6dc? 200 32ms","method":"GET","requestID":"fd3dc640-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":32,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9d96961c-391d-4d84-91f0-a538840db834? 200 37ms","method":"GET","requestID":"fd3d5110-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":37,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf357de6-ea2a-4011-ae5a-74ec0b932929#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf357de6-ea2a-4011-ae5a-74ec0b932929","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"41ecd196-3df8-4f33-a99c-c8a0b1bd8cec","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7171273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82d6498e-d617-4b18-8e65-70a74036401d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.717522} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"adb8a2fd49b35bde06d37d1b48a29a7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7004ae3-29c8-4c60-a322-c2ca2fefd691","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7230477} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.408765,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","rebac_allow":false,"scope_allow":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":"fd420c00-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling 200 19ms","method":"POST","requestID":"fd420c00-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e81a40e9-cfd4-42df-a60d-6b15accb5368","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7316341} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.464698,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","rebac_allow":false,"scope_allow":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":"fd43b9b0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"adb8a2fd49b35bde06d37d1b48a29a7a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 233ms","method":"POST","requestID":"adb8a2fd49b35bde06d37d1b48a29a7a","responseTime":233,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9d96961c-391d-4d84-91f0-a538840db834/signaling 200 15ms","method":"POST","requestID":"fd43b9b0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05476db2165a7cc63293577a2f33f6c5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"152d297b-a03d-46ce-b97e-c930a2a5e60b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.749065} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249576,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05476db2165a7cc63293577a2f33f6c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.972287,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","rebac_allow":false,"scope_allow":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":"fd4678d0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.336434145Z"}]},"request_id":"fe116c0b-c7d0-445c-90d2-3dda604729f8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7563782} device-1 | {"level":"info","message":"POST /devices/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling 200 16ms","method":"POST","requestID":"fd4678d0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc/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":"05476db2165a7cc63293577a2f33f6c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4ef1f135-d688-410f-ada9-972532bfb6b2"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9e858fe5-8646-457e-8825-709893507df5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"81c76142-54ed-4894-9bb2-ea201c49b09a"}]},"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/6c35990d-283f-4257-b64b-f0de8320c6dc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834"}],"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":"23/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d96961c-391d-4d84-91f0-a538840db834? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05476db2165a7cc63293577a2f33f6c5"} device-1 | {"level":"info","message":"GET /devices/9d96961c-391d-4d84-91f0-a538840db834? 200 21ms","method":"GET","requestID":"05476db2165a7cc63293577a2f33f6c5","responseTime":21,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.945871,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} 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":"fd49ad20-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"91dac2865de69c3f79423c190bdf6654","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939284,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458731,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczMX0.-G03r_xIyf_QqaR88cJNJ8_WJ00MUlTPQHAEZekekdw"} 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":"91dac2865de69c3f79423c190bdf6654"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f83728cb-6037-42be-8d36-01b2b0a19d26","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7867506} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"657334f9-fbcf-4b8a-9a90-bcdff99c1fde","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7869291} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:29.384340020Z"}]},"request_id":"e23e7705-c4dd-4821-a2cb-4e041c7a12eb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.7882528} 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":"fd49ad20-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91dac2865de69c3f79423c190bdf6654"},"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":"23/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6c35990d-283f-4257-b64b-f0de8320c6dc? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91dac2865de69c3f79423c190bdf6654"} device-1 | {"level":"info","message":"GET /devices/6c35990d-283f-4257-b64b-f0de8320c6dc? 200 44ms","method":"GET","requestID":"91dac2865de69c3f79423c190bdf6654","responseTime":44,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc?"} 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/37e89a02-e0c4-49c2-bcc8-18bff392645a'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 58ms","method":"POST","requestID":"fd49ad20-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":58,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"820b3c63-d4bc-44a7-b19d-1990699c6949","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.8604915} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.238649,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"fd57ddf0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/9d96961c-391d-4d84-91f0-a538840db834/signaling 200 11ms","method":"POST","requestID":"fd57ddf0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e632d2e2-9ecc-45da-89b4-49d9e9f64606","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458731.873937} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.672088,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"fd5a00d0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling 200 11ms","method":"POST","requestID":"fd5a00d0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling"} device-1 | {"data":{"peerconnection":"37e89a02-e0c4-49c2-bcc8-18bff392645a","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/37e89a02-e0c4-49c2-bcc8-18bff392645a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37e89a02-e0c4-49c2-bcc8-18bff392645a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"55f68fb7925959a832da3162d8c94ba1","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/6c35990d-283f-4257-b64b-f0de8320c6dc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"55f68fb7925959a832da3162d8c94ba1","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"55f68fb7925959a832da3162d8c94ba1"} device-1 | {"data":{"peerconnection":"37e89a02-e0c4-49c2-bcc8-18bff392645a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"37e89a02-e0c4-49c2-bcc8-18bff392645a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37e89a02-e0c4-49c2-bcc8-18bff392645a","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":"cc24b49f66eaefd8c9f31e7caa254e4c","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/6c35990d-283f-4257-b64b-f0de8320c6dc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:33Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37e89a02-e0c4-49c2-bcc8-18bff392645a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edcff8d2-f4ca-4d87-ae1a-7911b260586a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458733.9680896} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.726683,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a","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":"fe9985b0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/37e89a02-e0c4-49c2-bcc8-18bff392645a 200 10ms","method":"GET","requestID":"fe9985b0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"cc24b49f66eaefd8c9f31e7caa254e4c","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"cc24b49f66eaefd8c9f31e7caa254e4c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:33Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44db822c-4f8c-4a74-8b46-67305deddd00","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458733.9954052} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.58485,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe9da460-18eb-11ef-b4a6-53fbcbef7f4b"},"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/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling 200 10ms","method":"POST","requestID":"fe9da460-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4f63f1a-03ec-478f-aac3-96edd58c5a80","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.0076241} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.185562,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe9fa030-18eb-11ef-b4a6-53fbcbef7f4b"},"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/9d96961c-391d-4d84-91f0-a538840db834/signaling 200 9ms","method":"POST","requestID":"fe9fa030-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0eca4603ab9540e819aa9f25fbfddcec","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.907419,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"0eca4603ab9540e819aa9f25fbfddcec"},"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/df357de6-ea2a-4011-ae5a-74ec0b932929"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/df357de6-ea2a-4011-ae5a-74ec0b932929 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0eca4603ab9540e819aa9f25fbfddcec"} experiment-1 | {"level":"info","message":"GET /experiments/df357de6-ea2a-4011-ae5a-74ec0b932929 200 14ms","method":"GET","requestID":"0eca4603ab9540e819aa9f25fbfddcec","responseTime":14,"status":200,"url":"/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a55ccfd3e5147b7639de36585ea0d81c","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.115205,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"a55ccfd3e5147b7639de36585ea0d81c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.177693,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"feab8710-18eb-11ef-b4a6-53fbcbef7f4b"},"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/37e89a02-e0c4-49c2-bcc8-18bff392645a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"37e89a02-e0c4-49c2-bcc8-18bff392645a","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":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37e89a02-e0c4-49c2-bcc8-18bff392645a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F37e89a02-e0c4-49c2-bcc8-18bff392645a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"b9c56961-dedf-4730-9b28-080dfc54687d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.1048687} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"695c9ab5bf6fb4e68d6534085ffabf58","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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e1dbc49-112b-45a6-a017-a7c29b2d9e1f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.1052637} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/6c35990d-283f-4257-b64b-f0de8320c6dc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04377702f6b5f9ecb3e86dcccc63f52b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"feab8710-18eb-11ef-b4a6-53fbcbef7f4b"},"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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"37e89a02-e0c4-49c2-bcc8-18bff392645a","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/37e89a02-e0c4-49c2-bcc8-18bff392645a 204 56ms","method":"DELETE","requestID":"feab8710-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":56,"status":204,"url":"/peerconnections/37e89a02-e0c4-49c2-bcc8-18bff392645a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6c35990d-283f-4257-b64b-f0de8320c6dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d23af225-8a54-441e-b956-ecee21e56688","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.1694467} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.915951,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc","object_type":"device","rebac_allow":false,"scope_allow":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":"feb7e320-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf357de6-ea2a-4011-ae5a-74ec0b932929': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdf357de6-ea2a-4011-ae5a-74ec0b932929","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"7ccce8fe-49a4-4c60-b2a6-ad87c1add500","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.1773422} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6c35990d-283f-4257-b64b-f0de8320c6dc/signaling 200 16ms","method":"POST","requestID":"feb7e320-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/6c35990d-283f-4257-b64b-f0de8320c6dc/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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38f147ce-8c08-4987-a9a8-1590c43f0d1b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.1775784} 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":"a55ccfd3e5147b7639de36585ea0d81c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d96961c-391d-4d84-91f0-a538840db834","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5ebdb73-f39a-495b-b926-41b3fb1f490f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.1895227} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.139155,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834","object_type":"device","rebac_allow":false,"scope_allow":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":"febaf060-18eb-11ef-b4a6-53fbcbef7f4b"},"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/9d96961c-391d-4d84-91f0-a538840db834/signaling 200 16ms","method":"POST","requestID":"febaf060-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/9d96961c-391d-4d84-91f0-a538840db834/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/df357de6-ea2a-4011-ae5a-74ec0b932929 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a55ccfd3e5147b7639de36585ea0d81c"} experiment-1 | {"level":"info","message":"DELETE /experiments/df357de6-ea2a-4011-ae5a-74ec0b932929 204 181ms","method":"DELETE","requestID":"a55ccfd3e5147b7639de36585ea0d81c","responseTime":181,"status":204,"url":"/experiments/df357de6-ea2a-4011-ae5a-74ec0b932929"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.292","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1f61ef2242a424e72cfcf538648156bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"695c9ab5bf6fb4e68d6534085ffabf58","responseTime":139,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9d96961c-391d-4d84-91f0-a538840db834' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"04377702f6b5f9ecb3e86dcccc63f52b","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","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":"695c9ab5bf6fb4e68d6534085ffabf58"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e45be0bea6fde64debb53acfd1b6ab1f","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","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":"04377702f6b5f9ecb3e86dcccc63f52b"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.827","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0ca1e0d692a08772703d2cadc8ce8216"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.934003,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e45be0bea6fde64debb53acfd1b6ab1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6c35990d-283f-4257-b64b-f0de8320c6dc' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b6829812-8b7e-43bf-a413-63546d230379","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.278648} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e45be0bea6fde64debb53acfd1b6ab1f"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d35aba0a-34c1-4c71-8993-291226a01fad","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.2848039} 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":"e45be0bea6fde64debb53acfd1b6ab1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"7af00ee9-e301-4c11-9db2-b7627dc2393d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.2950363} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54afac82-ed60-4832-b1b9-4b57ba13447a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.295122} 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":"e45be0bea6fde64debb53acfd1b6ab1f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.295021757Z"}]},"request_id":"aac6a687-82ec-4586-8795-8cf59c955741","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.300222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e45be0bea6fde64debb53acfd1b6ab1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e45be0bea6fde64debb53acfd1b6ab1f"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"e45be0bea6fde64debb53acfd1b6ab1f","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f05ec0c21587960b6ce9bb7b61bc5d7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.769011,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"8f05ec0c21587960b6ce9bb7b61bc5d7"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ee629118-a39f-43d0-acdc-d6b840fc0671","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.3276696} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f05ec0c21587960b6ce9bb7b61bc5d7"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09a70c18-c6de-435a-bc21-f655b826e48d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.3329542} 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":"8f05ec0c21587960b6ce9bb7b61bc5d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f649eb60-221f-434f-a1bd-ed3338ecdc93","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.343112} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e10870f-52d7-4918-a2a4-613a9f19ef1a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.3432572} 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":"8f05ec0c21587960b6ce9bb7b61bc5d7"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.343090539Z"}]},"request_id":"5aa1023d-4825-4139-85b4-bb3fd092eecd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.3479397} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f05ec0c21587960b6ce9bb7b61bc5d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f05ec0c21587960b6ce9bb7b61bc5d7"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"8f05ec0c21587960b6ce9bb7b61bc5d7","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bac3e6c77205ffd3170a183f593287cc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698859,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"bac3e6c77205ffd3170a183f593287cc"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.343090539Z"}]},"request_id":"4d215163-5006-494e-acb5-81f0bd1751ef","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.8335853} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bac3e6c77205ffd3170a183f593287cc"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb43d74f-87fb-46e4-bac2-b135f72fa732","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.840288} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24ca4493a445c180a22bd09b788f583a","responseTime":3,"status":200,"url":"/auth"} 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":"bac3e6c77205ffd3170a183f593287cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823121,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"24ca4493a445c180a22bd09b788f583a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.343090539Z"}]},"request_id":"a5780c41-b8e3-497b-9691-e226a9028ccb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.8628793} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bac3e6c77205ffd3170a183f593287cc"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.295021757Z"}]},"request_id":"9e44b5e3-d7bc-4279-b611-08197042674b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.8640869} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bac3e6c77205ffd3170a183f593287cc"} device-1 | {"level":"info","message":"PATCH /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36 200 41ms","method":"PATCH","requestID":"bac3e6c77205ffd3170a183f593287cc","responseTime":41,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24ca4493a445c180a22bd09b788f583a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"07a5e055322067709643bcb1fe8e2cb4","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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b138572-9fa3-4a98-b68f-e61f24698cf9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.8706186} 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":"24ca4493a445c180a22bd09b788f583a"},"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:50018","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690726,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"07a5e055322067709643bcb1fe8e2cb4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.295021757Z"}]},"request_id":"40891e98-76ba-40f2-91ae-4603f45e3c51","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.8815823} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24ca4493a445c180a22bd09b788f583a"},"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":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/78d5d65d-d830-4826-a542-024af2a2e37b HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"24ca4493a445c180a22bd09b788f583a"} device-1 | {"level":"info","message":"PATCH /devices/78d5d65d-d830-4826-a542-024af2a2e37b 200 41ms","method":"PATCH","requestID":"24ca4493a445c180a22bd09b788f583a","responseTime":41,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8e241829f7b4b70093dc80f5b74b44c0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"07a5e055322067709643bcb1fe8e2cb4"} device-1 | {"level":"info","message":"POST /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/websocket 200 19ms","method":"POST","requestID":"07a5e055322067709643bcb1fe8e2cb4","responseTime":19,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934115,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e241829f7b4b70093dc80f5b74b44c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"device 'http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/78d5d65d-d830-4826-a542-024af2a2e37b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8e241829f7b4b70093dc80f5b74b44c0"} device-1 | {"level":"info","message":"POST /devices/78d5d65d-d830-4826-a542-024af2a2e37b/websocket 200 19ms","method":"POST","requestID":"8e241829f7b4b70093dc80f5b74b44c0","responseTime":19,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ffd2c7bb21b5dd06eb472d391a6a0eb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718997,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ffd2c7bb21b5dd06eb472d391a6a0eb"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.295021757Z"}]},"request_id":"1605e248-17ea-45f7-9e55-6c81cfeb7fda","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.9386215} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ffd2c7bb21b5dd06eb472d391a6a0eb"},"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":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78d5d65d-d830-4826-a542-024af2a2e37b? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ffd2c7bb21b5dd06eb472d391a6a0eb"} device-1 | {"level":"info","message":"GET /devices/78d5d65d-d830-4826-a542-024af2a2e37b? 200 13ms","method":"GET","requestID":"7ffd2c7bb21b5dd06eb472d391a6a0eb","responseTime":13,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"30fc3c7eb53a8e8927a222516f549d14","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765357,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"30fc3c7eb53a8e8927a222516f549d14"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.343090539Z"}]},"request_id":"03adae57-0384-4e3e-989f-220fe2cae372","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458734.9575481} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30fc3c7eb53a8e8927a222516f549d14"},"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":"23/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30fc3c7eb53a8e8927a222516f549d14"} device-1 | {"level":"info","message":"GET /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36? 200 13ms","method":"GET","requestID":"30fc3c7eb53a8e8927a222516f549d14","responseTime":13,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1822445d342da6acc9a4bd742e501671","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:50018","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.215036,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"1822445d342da6acc9a4bd742e501671"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"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:50018","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.110617,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff3c7c70-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886392,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff3cca90-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.295021757Z"}]},"request_id":"5bcacaf2-72ae-421a-aa57-4bbffc7f2b1f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.043742} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff3c7c70-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.343090539Z"}]},"request_id":"afbf373e-82ad-4b13-9dff-4ed95361b4b5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.045025} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff3cca90-18eb-11ef-b4a6-53fbcbef7f4b"},"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/78d5d65d-d830-4826-a542-024af2a2e37b? 200 21ms","method":"GET","requestID":"ff3c7c70-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36? 200 21ms","method":"GET","requestID":"ff3cca90-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"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/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.504067,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"ff48d880-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.411899,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"ff494db0-18eb-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.295021757Z"}]},"request_id":"157ef708-d53f-442a-aac8-4c4509b512ee","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.133539} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.343090539Z"}]},"request_id":"89654929-f4a8-448a-afa0-0da5469d8adb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.1357007} 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":"ff48d880-18eb-11ef-b4a6-53fbcbef7f4b"},"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 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":"ff494db0-18eb-11ef-b4a6-53fbcbef7f4b"},"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:54832","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3591ca1f-9c6e-46cc-b69e-32a8ac3549bc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.139986} authorization-1 | {"client_addr":"127.0.0.1:54832","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.082465,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","rebac_allow":false,"scope_allow":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":"ff49c2e0-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/78d5d65d-d830-4826-a542-024af2a2e37b? 200 35ms","method":"GET","requestID":"ff48d880-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":35,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa61d3efd-d6a0-4d1a-bc48-85204cc4a7e5#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa61d3efd-d6a0-4d1a-bc48-85204cc4a7e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"32c12008-6abe-4b40-94e9-a3f19179292a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.1478336} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36? 200 34ms","method":"GET","requestID":"ff494db0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":34,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b4bf29a-0ac5-47f2-b64e-3343977157de","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.1484547} 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":"1822445d342da6acc9a4bd742e501671"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling 200 34ms","method":"POST","requestID":"ff49c2e0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":34,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"458b4c52-7a95-4df7-982a-3fd433a4891e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.1608028} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.804955,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","rebac_allow":false,"scope_allow":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":"ff4f1a10-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1822445d342da6acc9a4bd742e501671"} experiment-1 | {"level":"info","message":"POST /experiments? 201 197ms","method":"POST","requestID":"1822445d342da6acc9a4bd742e501671","responseTime":197,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling 200 14ms","method":"POST","requestID":"ff4f1a10-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"543a78c0-f244-49e7-be47-0a968a4e84f1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.1686282} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.83466,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNX0.rR7tabSaVealDTiuj4IahLsvr51rXYToGIPsP_4JeeQ","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff505290-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"42a2e0dec7a15d303178dea41b145a6d","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea75f183-049d-4dd6-8fa3-0557d0b2f2e6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.1796107} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.992575,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling 200 22ms","method":"POST","requestID":"ff505290-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff51d930-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling 200 15ms","method":"POST","requestID":"ff51d930-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.428544,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"52dcfd66-2164-4425-a5a4-de62022c31ea"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"217a342e-30cf-4c85-ba61-de7b2847d4e6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1be5270d-ac2d-4980-ac0e-446a2cb9586e"}]},"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/78d5d65d-d830-4826-a542-024af2a2e37b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458735,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNX0.rR7tabSaVealDTiuj4IahLsvr51rXYToGIPsP_4JeeQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42a2e0dec7a15d303178dea41b145a6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.295021757Z"}]},"request_id":"33ce4a14-25e1-43a5-b95c-7aceebe3c801","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.1935334} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42a2e0dec7a15d303178dea41b145a6d"},"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:50018","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.860031,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458734,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNH0.HdClKg71cSTKSs7cHvVMuhXldwMarcLWKF09vMauMoE"} 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":"ff54e670-18eb-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78d5d65d-d830-4826-a542-024af2a2e37b? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42a2e0dec7a15d303178dea41b145a6d"} device-1 | {"level":"info","message":"GET /devices/78d5d65d-d830-4826-a542-024af2a2e37b? 200 22ms","method":"GET","requestID":"42a2e0dec7a15d303178dea41b145a6d","responseTime":22,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNX0.rR7tabSaVealDTiuj4IahLsvr51rXYToGIPsP_4JeeQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee5e02a70ad715808821bfba1fea34d9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"3ff8f123-d03e-4222-b47c-a99f4f56b149","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.2170162} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.858344,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458735,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczNX0.rR7tabSaVealDTiuj4IahLsvr51rXYToGIPsP_4JeeQ"} 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":"ee5e02a70ad715808821bfba1fea34d9"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"598ae220-c420-41a0-b9da-124c33fa0ef0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.2178378} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff54e670-18eb-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:34.343090539Z"}]},"request_id":"16f72c2b-acd3-4aa5-a1b1-9b2aa212638b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.2258098} 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":"ee5e02a70ad715808821bfba1fea34d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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/ab65cc46-c8de-479e-84e6-d58c48b1a31a'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a'"} 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 59ms","method":"POST","requestID":"ff54e670-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":59,"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":"23/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee5e02a70ad715808821bfba1fea34d9"} device-1 | {"level":"info","message":"GET /devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36? 200 43ms","method":"GET","requestID":"ee5e02a70ad715808821bfba1fea34d9","responseTime":43,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17cfb5e7-1013-4b38-befb-eac7bddcde05","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.2824078} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25283,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff622ce0-18eb-11ef-b4a6-53fbcbef7f4b"},"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/78d5d65d-d830-4826-a542-024af2a2e37b/signaling 200 8ms","method":"POST","requestID":"ff622ce0-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90c250e1-920d-414a-85d6-61a1282d9e32","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458735.29264} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.285068,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","rebac_allow":false,"scope_allow":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":"ff63b380-18eb-11ef-b4a6-53fbcbef7f4b"},"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/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling 200 9ms","method":"POST","requestID":"ff63b380-18eb-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling"} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","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/ab65cc46-c8de-479e-84e6-d58c48b1a31a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","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":"f2051f792d2342146b41b0245e794222","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/78d5d65d-d830-4826-a542-024af2a2e37b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"f2051f792d2342146b41b0245e794222","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"f2051f792d2342146b41b0245e794222"} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","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/ab65cc46-c8de-479e-84e6-d58c48b1a31a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","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":"c5d9cc759a16c689d25b5610537beeca","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/78d5d65d-d830-4826-a542-024af2a2e37b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab65cc46-c8de-479e-84e6-d58c48b1a31a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6bd67c7-233e-4499-8fec-c13c4b55ab39","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.3858852} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.812299,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a","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":"00a29c20-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ab65cc46-c8de-479e-84e6-d58c48b1a31a 200 15ms","method":"GET","requestID":"00a29c20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"c5d9cc759a16c689d25b5610537beeca","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"c5d9cc759a16c689d25b5610537beeca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d77248c1-4fbb-430f-aeed-6ae136f05a29","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.4216797} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.985832,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","rebac_allow":false,"scope_allow":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":"00a84170-18ec-11ef-b4a6-53fbcbef7f4b"},"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/78d5d65d-d830-4826-a542-024af2a2e37b/signaling 200 16ms","method":"POST","requestID":"00a84170-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b79f72bc-975d-49cd-8d0a-1c478accc429","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.4403834} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.751515,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","rebac_allow":false,"scope_allow":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":"00ab27a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling 200 14ms","method":"POST","requestID":"00ab27a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc8df88602a6ff4157d7f34af1af5dff","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.331244,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"dc8df88602a6ff4157d7f34af1af5dff"},"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/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"} experiment-1 | {"level":"info","message":"GET /experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5 200 18ms","method":"GET","requestID":"dc8df88602a6ff4157d7f34af1af5dff","responseTime":18,"status":200,"url":"/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc8df88602a6ff4157d7f34af1af5dff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ffc9aa775b59ecdbec951e172493fd2f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.364406,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"ffc9aa775b59ecdbec951e172493fd2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.159969,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"00b4c490-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ab65cc46-c8de-479e-84e6-d58c48b1a31a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","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":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab65cc46-c8de-479e-84e6-d58c48b1a31a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab65cc46-c8de-479e-84e6-d58c48b1a31a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"0843e059-ef43-4c75-acc8-74193df93b6e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.5257359} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"47ba042c1a74dedfee3ca7ff87d1d407","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/78d5d65d-d830-4826-a542-024af2a2e37b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a"}}},"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":"946d6a1536dc11fcf7e3af2f5c0439ce","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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"494d81f3-e56b-4743-a331-ff0ac2bc93e5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.5261507} 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/78d5d65d-d830-4826-a542-024af2a2e37b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a"}}},"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":"00b4c490-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"ab65cc46-c8de-479e-84e6-d58c48b1a31a","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/ab65cc46-c8de-479e-84e6-d58c48b1a31a 204 66ms","method":"DELETE","requestID":"00b4c490-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":66,"status":204,"url":"/peerconnections/ab65cc46-c8de-479e-84e6-d58c48b1a31a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5d65d-d830-4826-a542-024af2a2e37b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"250e440d-45da-4620-acf9-748003a4165a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.599092} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.275496,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5d65d-d830-4826-a542-024af2a2e37b","object_type":"device","rebac_allow":false,"scope_allow":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":"00c2f560-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa61d3efd-d6a0-4d1a-bc48-85204cc4a7e5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa61d3efd-d6a0-4d1a-bc48-85204cc4a7e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"27528b47-6195-48f4-b314-bec21aa320ec","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.6065197} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2434d4e-b4b2-489b-87c7-e86851f4de65","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.607054} device-1 | {"level":"info","message":"POST /devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling 200 18ms","method":"POST","requestID":"00c2f560-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/78d5d65d-d830-4826-a542-024af2a2e37b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffc9aa775b59ecdbec951e172493fd2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76562d7c-ebc6-4510-93fb-dfd80b6b47fc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.6202846} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.142893,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36","object_type":"device","rebac_allow":false,"scope_allow":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":"00c650c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling 200 17ms","method":"POST","requestID":"00c650c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5 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":"ffc9aa775b59ecdbec951e172493fd2f"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.767","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"19c352403605b2611a86eab0fc283987"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.787","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a286f1cf114c96df82a00c952b8172f4"} experiment-1 | {"level":"info","message":"DELETE /experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5 204 203ms","method":"DELETE","requestID":"ffc9aa775b59ecdbec951e172493fd2f","responseTime":203,"status":204,"url":"/experiments/a61d3efd-d6a0-4d1a-bc48-85204cc4a7e5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"47ba042c1a74dedfee3ca7ff87d1d407","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"47ba042c1a74dedfee3ca7ff87d1d407"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"946d6a1536dc11fcf7e3af2f5c0439ce","responseTime":154,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"946d6a1536dc11fcf7e3af2f5c0439ce"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"580ffc705dad6d04305f764a276f56e5","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/bba6d82c-f6b1-4b14-9a6e-bf9f5db08e36' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.991203,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"580ffc705dad6d04305f764a276f56e5"},"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/78d5d65d-d830-4826-a542-024af2a2e37b' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F342149cb-f884-4159-9f59-208e4be0871e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"42ee42c1-db42-47b1-a4ba-bfb018ca0429","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.714527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"580ffc705dad6d04305f764a276f56e5"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a35e56e6-a12e-45f2-a704-a42c361e452f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.72186} 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":"580ffc705dad6d04305f764a276f56e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F342149cb-f884-4159-9f59-208e4be0871e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2d5c16b2-7abc-4850-aadd-ad73e2f30fbb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.732991} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"657846e4-cec3-424a-9a8a-0706d5b58936","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.733265} 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":"580ffc705dad6d04305f764a276f56e5"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F342149cb-f884-4159-9f59-208e4be0871e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F342149cb-f884-4159-9f59-208e4be0871e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:37.732970817Z"}]},"request_id":"4b13569c-3bc4-48ec-ab3e-9b3b91cfce0a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.73927} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"580ffc705dad6d04305f764a276f56e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"580ffc705dad6d04305f764a276f56e5"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"580ffc705dad6d04305f764a276f56e5","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"946c8bee242ae820ba952a4f3c3acb13","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.77316,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"946c8bee242ae820ba952a4f3c3acb13"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2b49e84-a586-44a6-ae1d-62d83f442ba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ed900c91-df41-48c4-b11e-4a13cab26db1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.7677014} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"946c8bee242ae820ba952a4f3c3acb13"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c7f110f-d825-463c-9091-d773786d9a16","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.7735243} 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":"946c8bee242ae820ba952a4f3c3acb13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2b49e84-a586-44a6-ae1d-62d83f442ba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"c763a597-8827-466f-ab94-0442047c6d1a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.7847977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4406f79-491e-4c80-874e-2eddcc0ceff6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.784994} 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":"946c8bee242ae820ba952a4f3c3acb13"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2b49e84-a586-44a6-ae1d-62d83f442ba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2b49e84-a586-44a6-ae1d-62d83f442ba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:37.784779729Z"}]},"request_id":"2b4e82b0-79d5-4baa-b4c0-ab38c0ef76f9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.7906353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"946c8bee242ae820ba952a4f3c3acb13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"946c8bee242ae820ba952a4f3c3acb13"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"946c8bee242ae820ba952a4f3c3acb13","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d9eba9650ff9f5784fa4e2688090b8a4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.046248,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"d9eba9650ff9f5784fa4e2688090b8a4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5befe6e-738a-4cb7-8c60-6b510a80276b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8757ac73-ff11-4801-92fc-e0b1512eee91","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.8231695} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9eba9650ff9f5784fa4e2688090b8a4"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18dd85ff-aa76-4a55-85e9-9ade954892d5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.829087} 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":"d9eba9650ff9f5784fa4e2688090b8a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5befe6e-738a-4cb7-8c60-6b510a80276b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"115acceb-0bab-4975-b5b4-b03b6b24febc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.8417094} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1ea137a-5b48-4f42-b956-2187e7e0b32e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.8425288} 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":"d9eba9650ff9f5784fa4e2688090b8a4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5befe6e-738a-4cb7-8c60-6b510a80276b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5befe6e-738a-4cb7-8c60-6b510a80276b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:37.841681518Z"}]},"request_id":"89970d6a-bdf0-490e-aab6-69a178cf16b9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.8480084} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9eba9650ff9f5784fa4e2688090b8a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9eba9650ff9f5784fa4e2688090b8a4"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"d9eba9650ff9f5784fa4e2688090b8a4","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ee22217ca1e498a4a2869a6eb47c47fa","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.305975,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"ee22217ca1e498a4a2869a6eb47c47fa"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fced4f159-b29d-41a6-8f6c-5530839b20c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ee0c62a-eb92-442d-8bd9-3226578e3877","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.8819363} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee22217ca1e498a4a2869a6eb47c47fa"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f8cce0a-2196-4bcb-9237-f744e1a64f5d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.8888679} 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":"ee22217ca1e498a4a2869a6eb47c47fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fced4f159-b29d-41a6-8f6c-5530839b20c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"21bb7fee-ec47-4ef1-9838-005f0814c585","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.901472} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38fbc482-5b7a-4a56-aa95-e180b5be8ff5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.901692} 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":"ee22217ca1e498a4a2869a6eb47c47fa"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fced4f159-b29d-41a6-8f6c-5530839b20c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fced4f159-b29d-41a6-8f6c-5530839b20c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:37.901459229Z"}]},"request_id":"2f734443-cf56-45e8-85b9-ef0be95ab31c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.9075627} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee22217ca1e498a4a2869a6eb47c47fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee22217ca1e498a4a2869a6eb47c47fa"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"ee22217ca1e498a4a2869a6eb47c47fa","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cbb02fc2d79945a91230a2f65fa3e787","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.18934,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"cbb02fc2d79945a91230a2f65fa3e787"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4323f8e8-2e0b-422c-b99b-ee6a628b0371","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4317c9b7-71a1-4540-9fd3-4d2d7be29487","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.9383688} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb02fc2d79945a91230a2f65fa3e787"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3c7d786-09a8-4938-bab2-3918c34740c9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.9470575} 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":"cbb02fc2d79945a91230a2f65fa3e787"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4323f8e8-2e0b-422c-b99b-ee6a628b0371","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"8557675e-b6c3-4f49-9b7c-c7fd46490d7d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.9588401} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10805aac-eb93-40aa-9f17-a435e0879896","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.9590821} 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":"cbb02fc2d79945a91230a2f65fa3e787"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4323f8e8-2e0b-422c-b99b-ee6a628b0371","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4323f8e8-2e0b-422c-b99b-ee6a628b0371","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:37.958820325Z"}]},"request_id":"e89d33c2-eb35-469d-a767-50597f862fd9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.9643373} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb02fc2d79945a91230a2f65fa3e787"},"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":"cbb02fc2d79945a91230a2f65fa3e787","responseTime":52,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbb02fc2d79945a91230a2f65fa3e787"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cda46262521bc405717e3db7799b1bfb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.217278,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458737,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczN30.lA2YkgtVMQEJZ2tQPTrpk7Ke-H3798ikiwvc41zu9ig"} 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":"cda46262521bc405717e3db7799b1bfb"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28f452d-c87b-4062-be8d-c2beee9c3ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2979adc5-fb16-4915-a313-d179afab8531","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458737.9968274} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cda46262521bc405717e3db7799b1bfb"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e8e1b28-1bdd-4f6f-9413-0f9ec5e53cd5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0041008} 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":"cda46262521bc405717e3db7799b1bfb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28f452d-c87b-4062-be8d-c2beee9c3ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"df7c3a54-cf55-40d6-860c-51caf4a730b1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.01691} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be0527fc-6dd5-4c4d-a507-94127a32ff12","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0181043} 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":"cda46262521bc405717e3db7799b1bfb"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28f452d-c87b-4062-be8d-c2beee9c3ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff28f452d-c87b-4062-be8d-c2beee9c3ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.016892198Z"}]},"request_id":"cfbc91d4-6d91-44f0-9b60-76fd0e26bbea","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0295675} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cda46262521bc405717e3db7799b1bfb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cda46262521bc405717e3db7799b1bfb"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"cda46262521bc405717e3db7799b1bfb","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"11eae236dc0f828330ca530775b4aef1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.924064,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"11eae236dc0f828330ca530775b4aef1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe417f122-6ea7-4540-bfa9-8b7b26a03522","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6866e00c-7d62-438b-bf3c-47eb6766b9ff","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0599136} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11eae236dc0f828330ca530775b4aef1"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37543bf8-a48f-4743-a8fe-ae5da59bb58f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0651617} 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":"11eae236dc0f828330ca530775b4aef1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe417f122-6ea7-4540-bfa9-8b7b26a03522","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"9aced5b0-8c33-4a70-b45c-3e7696c45725","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0776541} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61e93917-eb2b-469e-97a1-9ac3ae3beb0a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0778506} 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":"11eae236dc0f828330ca530775b4aef1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe417f122-6ea7-4540-bfa9-8b7b26a03522","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe417f122-6ea7-4540-bfa9-8b7b26a03522","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.077637193Z"}]},"request_id":"15733d2e-56c6-4590-b809-234cb9d705cd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.0819218} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11eae236dc0f828330ca530775b4aef1"},"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":"11eae236dc0f828330ca530775b4aef1","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11eae236dc0f828330ca530775b4aef1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e77d640464e0c2d2fb31ff76dd828b2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.03629,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"2e77d640464e0c2d2fb31ff76dd828b2"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfe8063d-0c40-46e3-ac1b-8073eb3d4a59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"807525ef-59ea-4840-a487-cec87ea6c12a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.10769} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e77d640464e0c2d2fb31ff76dd828b2"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24de87f5-63ee-48e1-803d-9bd9e5b70f21","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1123614} 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":"2e77d640464e0c2d2fb31ff76dd828b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfe8063d-0c40-46e3-ac1b-8073eb3d4a59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"80e0641d-79ba-41ef-960b-041b4f3ff5ad","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1219747} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3122d8e7-7e2e-4b20-8d4f-b0329e1497ed","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1222396} 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":"2e77d640464e0c2d2fb31ff76dd828b2"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfe8063d-0c40-46e3-ac1b-8073eb3d4a59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdfe8063d-0c40-46e3-ac1b-8073eb3d4a59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.121956924Z"}]},"request_id":"dc8b8e8b-1fd9-41b2-8a1c-6ef7307c0569","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1259298} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e77d640464e0c2d2fb31ff76dd828b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e77d640464e0c2d2fb31ff76dd828b2"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"2e77d640464e0c2d2fb31ff76dd828b2","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0eac56dee4af18675058bb1aac314723","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.968291,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"0eac56dee4af18675058bb1aac314723"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73e5f4df-57dc-47ea-a483-3549e65d2ef2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c495165a-cf37-4286-93b5-3fd13bd14b35","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1522033} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0eac56dee4af18675058bb1aac314723"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69941556-35da-4e20-8e59-f40a0ff6dcf5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1576188} 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":"0eac56dee4af18675058bb1aac314723"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73e5f4df-57dc-47ea-a483-3549e65d2ef2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2e0efc55-4739-4f0e-b087-815b9b97c774","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1705754} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"485ae198-d3cf-491d-8a75-5ccc3402a147","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1709492} 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":"0eac56dee4af18675058bb1aac314723"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73e5f4df-57dc-47ea-a483-3549e65d2ef2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73e5f4df-57dc-47ea-a483-3549e65d2ef2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.170552343Z"}]},"request_id":"9563f493-1ae7-41df-bc70-083b85cda5b3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.1755114} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0eac56dee4af18675058bb1aac314723"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"322","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0eac56dee4af18675058bb1aac314723"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"0eac56dee4af18675058bb1aac314723","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2706edd2a8bb72b68deeef0d9545be7f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.245464,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"2706edd2a8bb72b68deeef0d9545be7f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba88ff47-00d2-48e3-a85d-eaa2963edb82","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aec26fa3-717d-4346-9ef5-399d7e011874","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.2090821} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2706edd2a8bb72b68deeef0d9545be7f"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4980636c-dab9-4c7d-b12a-8126c73db2e8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.216398} 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":"2706edd2a8bb72b68deeef0d9545be7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba88ff47-00d2-48e3-a85d-eaa2963edb82","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"50ac607e-c44b-45c5-81c7-b43d804f44ae","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.2284322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e7c77be-4489-4de0-88ca-cd9d0f365e5b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.228747} 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":"2706edd2a8bb72b68deeef0d9545be7f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba88ff47-00d2-48e3-a85d-eaa2963edb82","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba88ff47-00d2-48e3-a85d-eaa2963edb82","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.228406770Z"}]},"request_id":"2ada3dd3-7b0f-4465-b5b5-47931325f8fe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.2359447} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2706edd2a8bb72b68deeef0d9545be7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"323","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2706edd2a8bb72b68deeef0d9545be7f"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"2706edd2a8bb72b68deeef0d9545be7f","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1cd417c91513ea4b8b17835e08ab7b93","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.314862,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"1cd417c91513ea4b8b17835e08ab7b93"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"77331954-227b-46cb-b276-239729ddabe6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.2749152} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cd417c91513ea4b8b17835e08ab7b93"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"906bf50d-9810-499d-b22d-6e4e66baba72","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.2828155} 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":"1cd417c91513ea4b8b17835e08ab7b93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e62bf20b-f6bf-4e55-bb6b-f718e7476768","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.2962182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf826fb2-4db5-4139-8c65-935a967b2f85","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.2966478} 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":"1cd417c91513ea4b8b17835e08ab7b93"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.296185052Z"}]},"request_id":"92ee8895-2621-4276-b765-54a167f62058","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.3039196} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cd417c91513ea4b8b17835e08ab7b93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1249","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cd417c91513ea4b8b17835e08ab7b93"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"1cd417c91513ea4b8b17835e08ab7b93","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"004c763855138865ce9a2fbc6ecaee18","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.29417,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"004c763855138865ce9a2fbc6ecaee18"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fd57ad91-733e-4363-aef7-c1e66bf1db45","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.3430984} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"004c763855138865ce9a2fbc6ecaee18"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7a4c9a4-2bcf-495a-b87d-eccef9a17597","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.3503852} 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":"004c763855138865ce9a2fbc6ecaee18"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e46c74a8-0655-4202-b326-153f7e5844f1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.3616166} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"166c0e1f-566e-47e7-a74c-45026fae394a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.3619242} 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":"004c763855138865ce9a2fbc6ecaee18"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.361588488Z"}]},"request_id":"3dac7e87-5095-42d8-8f90-71f64fba2a29","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.368828} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"004c763855138865ce9a2fbc6ecaee18"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1572","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"004c763855138865ce9a2fbc6ecaee18"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"004c763855138865ce9a2fbc6ecaee18","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d636e5d823fcf4246a18fbe34d3e741f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.200462,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"d636e5d823fcf4246a18fbe34d3e741f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b24e8e8d-b72b-47e9-9e79-73ea1187df9f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4024239} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d636e5d823fcf4246a18fbe34d3e741f"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7c9ce08-7c63-4cd8-8d09-7d412af30918","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4100018} 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":"d636e5d823fcf4246a18fbe34d3e741f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"110b24f5-8558-4949-bc8b-1269464ff351","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4222195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2f4fca1-be45-4327-bfb3-95eeaa1b1c7e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4226453} 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":"d636e5d823fcf4246a18fbe34d3e741f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.422195292Z"}]},"request_id":"e4d48304-1633-42b0-9dc2-5a9ea8cea43b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4292552} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d636e5d823fcf4246a18fbe34d3e741f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1250","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d636e5d823fcf4246a18fbe34d3e741f"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"d636e5d823fcf4246a18fbe34d3e741f","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eecb80236fd3c908a55cbed8cfe5743e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214993,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"eecb80236fd3c908a55cbed8cfe5743e"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.296185052Z"}]},"request_id":"5a90ae88-5499-42de-b079-bbc3c1feba97","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4634538} 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":"eecb80236fd3c908a55cbed8cfe5743e"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec18bd28-9c83-41a6-89e2-60243c0084d7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4736066} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eecb80236fd3c908a55cbed8cfe5743e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.296185052Z"}]},"request_id":"dee4e572-e809-4339-8c1f-33d9be35ba41","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.4969} 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":"eecb80236fd3c908a55cbed8cfe5743e"},"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":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd? HTTP/1.1","status": "200","body_bytes_sent":"1321","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eecb80236fd3c908a55cbed8cfe5743e"} device-1 | {"level":"info","message":"PATCH /devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd? 200 60ms","method":"PATCH","requestID":"eecb80236fd3c908a55cbed8cfe5743e","responseTime":60,"status":200,"url":"/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7bc5b0b8820d71efaf2b5ee4bd80d77a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.584617,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cfd584f-4642-4494-82d8-5b09948a5e59","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4cfd584f-4642-4494-82d8-5b09948a5e59","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"7bc5b0b8820d71efaf2b5ee4bd80d77a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.361588488Z"}]},"request_id":"84c8de3e-8577-41ce-918c-df5e3b166ca6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.5302672} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc5b0b8820d71efaf2b5ee4bd80d77a"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13a1afbc-5aab-445b-8d2c-5bb3e415b65c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.5380003} 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":"7bc5b0b8820d71efaf2b5ee4bd80d77a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.361588488Z"}]},"request_id":"983789bf-19e4-4774-b7e9-01d5dff0b1d2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.5508485} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc5b0b8820d71efaf2b5ee4bd80d77a"},"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":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4cfd584f-4642-4494-82d8-5b09948a5e59? HTTP/1.1","status": "200","body_bytes_sent":"1716","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bc5b0b8820d71efaf2b5ee4bd80d77a"} device-1 | {"level":"info","message":"PATCH /devices/4cfd584f-4642-4494-82d8-5b09948a5e59? 200 41ms","method":"PATCH","requestID":"7bc5b0b8820d71efaf2b5ee4bd80d77a","responseTime":41,"status":200,"url":"/devices/4cfd584f-4642-4494-82d8-5b09948a5e59?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8dbbb879c59ff6ca6a9dc96d96747d97","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29329,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dbbb879c59ff6ca6a9dc96d96747d97"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.422195292Z"}]},"request_id":"a1a0dfd9-db42-4b7b-9678-672146f41c32","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.5782535} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dbbb879c59ff6ca6a9dc96d96747d97"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac3f7a77-f298-4261-aa62-2216b7af3aae","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.5857718} 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":"8dbbb879c59ff6ca6a9dc96d96747d97"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.422195292Z"}]},"request_id":"45fdaa9e-aedd-4bbd-8419-42b9df096bd2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.5970817} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dbbb879c59ff6ca6a9dc96d96747d97"},"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":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b83b6d26-3cbe-4017-8369-d46abd7234fd? HTTP/1.1","status": "200","body_bytes_sent":"1322","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dbbb879c59ff6ca6a9dc96d96747d97"} device-1 | {"level":"info","message":"PATCH /devices/b83b6d26-3cbe-4017-8369-d46abd7234fd? 200 37ms","method":"PATCH","requestID":"8dbbb879c59ff6ca6a9dc96d96747d97","responseTime":37,"status":200,"url":"/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8787ef8464aee94bd5e90608a8fe3c4f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176645,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8787ef8464aee94bd5e90608a8fe3c4f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.296185052Z"}]},"request_id":"161fcf83-202f-4f5f-88a6-79533c4db97d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.6215973} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8787ef8464aee94bd5e90608a8fe3c4f"},"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:50018","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.764916,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.282471,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54832","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54832","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.20167,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/342149cb-f884-4159-9f59-208e4be0871e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/342149cb-f884-4159-9f59-208e4be0871e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"8787ef8464aee94bd5e90608a8fe3c4f"},"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/c2b49e84-a586-44a6-ae1d-62d83f442ba4","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/c2b49e84-a586-44a6-ae1d-62d83f442ba4","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"8787ef8464aee94bd5e90608a8fe3c4f"},"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/f5befe6e-738a-4cb7-8c60-6b510a80276b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f5befe6e-738a-4cb7-8c60-6b510a80276b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"8787ef8464aee94bd5e90608a8fe3c4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:54838","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54838","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.382209,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cfd584f-4642-4494-82d8-5b09948a5e59","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4cfd584f-4642-4494-82d8-5b09948a5e59","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"8787ef8464aee94bd5e90608a8fe3c4f"},"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":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd? HTTP/1.1","status": "200","body_bytes_sent":"1321","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8787ef8464aee94bd5e90608a8fe3c4f"} device-1 | {"level":"info","message":"GET /devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd? 200 46ms","method":"GET","requestID":"8787ef8464aee94bd5e90608a8fe3c4f","responseTime":46,"status":200,"url":"/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9cc4493e4332fca805eeb97c73081661","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265972,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cfd584f-4642-4494-82d8-5b09948a5e59","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4cfd584f-4642-4494-82d8-5b09948a5e59","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"9cc4493e4332fca805eeb97c73081661"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cfd584f-4642-4494-82d8-5b09948a5e59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.361588488Z"}]},"request_id":"4d46de76-2511-4f42-8af6-70db8a193559","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.678938} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cc4493e4332fca805eeb97c73081661"},"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:50018","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.857676,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071357,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54832","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54832","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927841,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54838","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ced4f159-b29d-41a6-8f6c-5530839b20c3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/ced4f159-b29d-41a6-8f6c-5530839b20c3","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"9cc4493e4332fca805eeb97c73081661"},"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/4323f8e8-2e0b-422c-b99b-ee6a628b0371","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4323f8e8-2e0b-422c-b99b-ee6a628b0371","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"9cc4493e4332fca805eeb97c73081661"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f28f452d-c87b-4062-be8d-c2beee9c3ee8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f28f452d-c87b-4062-be8d-c2beee9c3ee8","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"9cc4493e4332fca805eeb97c73081661"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:54838","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926833,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e417f122-6ea7-4540-bfa9-8b7b26a03522","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/e417f122-6ea7-4540-bfa9-8b7b26a03522","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"9cc4493e4332fca805eeb97c73081661"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54842","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.840151,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54842","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.581154,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"9cc4493e4332fca805eeb97c73081661"},"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/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"9cc4493e4332fca805eeb97c73081661"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4cfd584f-4642-4494-82d8-5b09948a5e59? HTTP/1.1","status": "200","body_bytes_sent":"1716","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9cc4493e4332fca805eeb97c73081661"} device-1 | {"level":"info","message":"GET /devices/4cfd584f-4642-4494-82d8-5b09948a5e59? 200 58ms","method":"GET","requestID":"9cc4493e4332fca805eeb97c73081661","responseTime":58,"status":200,"url":"/devices/4cfd584f-4642-4494-82d8-5b09948a5e59?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"04437710cbf518c6999799c36a497928","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.324348,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04437710cbf518c6999799c36a497928"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb83b6d26-3cbe-4017-8369-d46abd7234fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.422195292Z"}]},"request_id":"3dc349ae-c846-4b2c-89a3-ed7abba233a5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.7487595} 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":"04437710cbf518c6999799c36a497928"},"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:50018","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.759968,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54832","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.619058,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54832","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.131658,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dfe8063d-0c40-46e3-ac1b-8073eb3d4a59","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/dfe8063d-0c40-46e3-ac1b-8073eb3d4a59","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"04437710cbf518c6999799c36a497928"},"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/73e5f4df-57dc-47ea-a483-3549e65d2ef2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73e5f4df-57dc-47ea-a483-3549e65d2ef2","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"04437710cbf518c6999799c36a497928"},"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/ba88ff47-00d2-48e3-a85d-eaa2963edb82","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/ba88ff47-00d2-48e3-a85d-eaa2963edb82","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"04437710cbf518c6999799c36a497928"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:54838","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:54838","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.432089,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/d2d4fcc6-9b51-4e06-a0ad-f4df9801d5dd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"04437710cbf518c6999799c36a497928"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b83b6d26-3cbe-4017-8369-d46abd7234fd? HTTP/1.1","status": "200","body_bytes_sent":"1322","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04437710cbf518c6999799c36a497928"} device-1 | {"level":"info","message":"GET /devices/b83b6d26-3cbe-4017-8369-d46abd7234fd? 200 45ms","method":"GET","requestID":"04437710cbf518c6999799c36a497928","responseTime":45,"status":200,"url":"/devices/b83b6d26-3cbe-4017-8369-d46abd7234fd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6d4ce1063d1f6ed9a68d50ea25c76920","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.305616,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"6d4ce1063d1f6ed9a68d50ea25c76920"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8e75d9c8-b2ae-4b9b-b6f1-17af465fa82e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.8328795} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d4ce1063d1f6ed9a68d50ea25c76920"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"861d04a6-2b73-48c9-8352-28d89455ca71","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.8414156} 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":"6d4ce1063d1f6ed9a68d50ea25c76920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"d75c9faa-bc63-47ec-b9e3-d160863c0530","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.8550549} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b5fc67e-6dcf-49ba-a1bd-2de393b65f87","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.8556254} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d4ce1063d1f6ed9a68d50ea25c76920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.855018649Z"}]},"request_id":"f3620180-b884-4df8-bf3b-7043cdf71c56","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.865143} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d4ce1063d1f6ed9a68d50ea25c76920"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"329","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d4ce1063d1f6ed9a68d50ea25c76920"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"6d4ce1063d1f6ed9a68d50ea25c76920","responseTime":79,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1f5d9d72326932bccb8ee2c82ef4136","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.355646,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"a1f5d9d72326932bccb8ee2c82ef4136"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d54de95b-af71-4d50-879c-29af4d10c1e6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9026873} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f5d9d72326932bccb8ee2c82ef4136"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85434c1e-3336-466c-8f76-94bc3372d4ba","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9110646} 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":"a1f5d9d72326932bccb8ee2c82ef4136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"4ecfb6bf-5258-4b89-9472-82821cfc38b7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9219413} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ef60423-1ebf-4a5a-af09-3461053d7899","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9225612} 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":"a1f5d9d72326932bccb8ee2c82ef4136"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.921915075Z"}]},"request_id":"ec578607-926d-468a-8bfa-dce394a6d7c8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.929489} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f5d9d72326932bccb8ee2c82ef4136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"635","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1f5d9d72326932bccb8ee2c82ef4136"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"a1f5d9d72326932bccb8ee2c82ef4136","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1d5d6d913b239288acd84b648ff42e27","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.359374,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458738,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODczOH0.i7zot7-Ab_yVDkoY3nDECMlqxFZdK6Hl7ptlFPIbGLM"} 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":"1d5d6d913b239288acd84b648ff42e27"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"801365ff-196e-43cb-b3cf-7663e833a049","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9667625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d5d6d913b239288acd84b648ff42e27"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e12a7ff8-38cb-48cf-8374-6383ee5491d1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9738874} 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":"1d5d6d913b239288acd84b648ff42e27"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e0a3c8f4-97c7-47bd-9314-006fcbb23985","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9846275} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f5a41fa-2a29-43ec-958d-857f26d36aa9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9847102} 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":"1d5d6d913b239288acd84b648ff42e27"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.984612574Z"}]},"request_id":"4aa8853c-ab21-4ae6-89e7-c4910a4d827b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458738.9914172} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d5d6d913b239288acd84b648ff42e27"},"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":"1d5d6d913b239288acd84b648ff42e27","responseTime":51,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d5d6d913b239288acd84b648ff42e27"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ebc38734dd159f19de61372c85e73ca3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ba392e76-9620-4f09-9401-b5b80b1f113a/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":"ebc38734dd159f19de61372c85e73ca3"} device-1 | {"level":"info","message":"OPTIONS /devices/ba392e76-9620-4f09-9401-b5b80b1f113a/websocket 200 1ms","method":"OPTIONS","requestID":"ebc38734dd159f19de61372c85e73ca3","responseTime":1,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"6d0a50a14a27ed7c200378dc15693a0d","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/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":"6d0a50a14a27ed7c200378dc15693a0d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"OPTIONS /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/websocket 200 1ms","method":"OPTIONS","requestID":"6d0a50a14a27ed7c200378dc15693a0d","responseTime":1,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6770c258911b68cfe8725d7e169bcc8e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975116,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81b80337b4d632615fe4b6666430c7ca","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6770c258911b68cfe8725d7e169bcc8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.17452,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81b80337b4d632615fe4b6666430c7ca"},"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/ba392e76-9620-4f09-9401-b5b80b1f113a/websocket 200 36ms","method":"POST","requestID":"6770c258911b68cfe8725d7e169bcc8e","responseTime":36,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a/websocket"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ba392e76-9620-4f09-9401-b5b80b1f113a/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":"6770c258911b68cfe8725d7e169bcc8e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/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":"81b80337b4d632615fe4b6666430c7ca"} device-1 | {"level":"info","message":"POST /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/websocket 200 37ms","method":"POST","requestID":"81b80337b4d632615fe4b6666430c7ca","responseTime":37,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0d3a937887e0f4d83cdd81c796ae202c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228978,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d3a937887e0f4d83cdd81c796ae202c"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.984612574Z"}]},"request_id":"6729c40c-f345-463a-bbf1-646f584da88c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.1056027} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d3a937887e0f4d83cdd81c796ae202c"},"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":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d3a937887e0f4d83cdd81c796ae202c"} device-1 | {"level":"info","message":"GET /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b? 200 19ms","method":"GET","requestID":"0d3a937887e0f4d83cdd81c796ae202c","responseTime":19,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"efd66a21450910748a11b5380b127071","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.336202,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} 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":"efd66a21450910748a11b5380b127071"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"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:50018","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.001769,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02e81f50-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802088,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} 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":"02e86d70-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bde3392-3ca0-4b79-b9d8-c3ee161dff5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.921915075Z"}]},"request_id":"7c01bf66-5183-484e-9208-9bc206fd8f99","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.201687} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02e81f50-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.984612574Z"}]},"request_id":"11495c89-e4f9-4175-ac80-00f1e403df01","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.2024488} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02e86d70-18ec-11ef-b4a6-53fbcbef7f4b"},"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/c4c0fc96-e972-4ba7-a3f5-f950577c953b? 200 17ms","method":"GET","requestID":"02e86d70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.538689,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02e81f50-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6bde3392-3ca0-4b79-b9d8-c3ee161dff5a? 200 24ms","method":"GET","requestID":"02e81f50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/6bde3392-3ca0-4b79-b9d8-c3ee161dff5a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"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:50018","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849985,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f342e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975195,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} 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":"02f3b810-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36019377-66c7-436a-a2f8-3caab06c509f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.273844} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.855018649Z"}]},"request_id":"c5e9eda8-ce98-47da-8d5f-958a9dc43d65","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.2742417} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.339478,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.984612574Z"}]},"request_id":"d4aa3268-3745-4ff1-9438-18f28f95a85d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.2753334} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f342e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"02f40630-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f3b810-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling 200 17ms","method":"POST","requestID":"02f40630-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfaaf04e-4221-4f84-ac8c-2a923be7d2d2#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfaaf04e-4221-4f84-ac8c-2a923be7d2d2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"be797766-3724-46cd-bccf-2ebf0be520e5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.2840974} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5484cc58-15c1-46cf-9ca1-aee37548c651","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.2844062} device-1 | {"level":"info","message":"GET /devices/ba392e76-9620-4f09-9401-b5b80b1f113a? 200 23ms","method":"GET","requestID":"02f342e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b? 200 22ms","method":"GET","requestID":"02f3b810-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b?"} 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":"efd66a21450910748a11b5380b127071"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2763e95b-b1cc-41a9-bb31-182b7750374c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.293473} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.785186,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f73a80-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff6f7951-bae1-4c83-b46c-745686e9d4f2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.2961833} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.6399,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02f788a0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"efd66a21450910748a11b5380b127071"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"efd66a21450910748a11b5380b127071","responseTime":174,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling 200 13ms","method":"POST","requestID":"02f73a80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling 200 13ms","method":"POST","requestID":"02f788a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"80c000975eb3663389d4dbb990457b92","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:50018","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859131,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80c000975eb3663389d4dbb990457b92"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b6c6742-8b30-4319-8118-84dabdb3ee7f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.3108668} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.783597,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"02f9f9a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.855018649Z"}]},"request_id":"36a8f044-ebf6-4510-ab46-c27541881497","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.315205} device-1 | {"level":"info","message":"POST /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling 200 9ms","method":"POST","requestID":"02f9f9a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/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":"80c000975eb3663389d4dbb990457b92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"59771843-36b9-4275-ae91-8a9954e6f28f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ec5b266e-360a-4bfa-bf02-0776a5fa35fb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c2ccfcdc-d413-4ac0-afcd-9366f729112c"}]},"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/ba392e76-9620-4f09-9401-b5b80b1f113a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b"}],"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":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ba392e76-9620-4f09-9401-b5b80b1f113a? HTTP/1.1","status": "200","body_bytes_sent":"328","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80c000975eb3663389d4dbb990457b92"} device-1 | {"level":"info","message":"GET /devices/ba392e76-9620-4f09-9401-b5b80b1f113a? 200 17ms","method":"GET","requestID":"80c000975eb3663389d4dbb990457b92","responseTime":17,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.803104,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} 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":"02fbf570-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1165fc291c553415df817f756e92cf32","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737257,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} 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":"1165fc291c553415df817f756e92cf32"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:38.984612574Z"}]},"request_id":"05b22f94-3a12-49ad-a71f-2c0fc3c31fc2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.3341386} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1165fc291c553415df817f756e92cf32"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"4a794e43-95da-4773-877b-ffea5bcc716d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.3348768} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1891f240-4cae-4db5-9983-efe3633ab265","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.3352668} 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":"02fbf570-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1165fc291c553415df817f756e92cf32"} device-1 | {"level":"info","message":"GET /devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b? 200 11ms","method":"GET","requestID":"1165fc291c553415df817f756e92cf32","responseTime":11,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b?"} 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/8989323b-8003-46f4-b647-6983117e45a7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"02fbf570-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"669420db-3814-4163-97b1-224d24aac840","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.392394} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.782345,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"030655b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling 200 11ms","method":"POST","requestID":"030655b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"212cf674-f662-440a-8479-dc7d06922911","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.4062965} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.939122,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"03087890-18ec-11ef-b4a6-53fbcbef7f4b"},"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/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling 200 11ms","method":"POST","requestID":"03087890-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8989323b-8003-46f4-b647-6983117e45a7","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dfbaa319f8a63ebbc4df5596378552e7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"dfbaa319f8a63ebbc4df5596378552e7","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"dfbaa319f8a63ebbc4df5596378552e7"} device-1 | {"data":{"peerconnection":"8989323b-8003-46f4-b647-6983117e45a7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8989323b-8003-46f4-b647-6983117e45a7","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8989323b-8003-46f4-b647-6983117e45a7","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":"14666d54a6e6883f43af9c851baf4a7d","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/ba392e76-9620-4f09-9401-b5b80b1f113a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8989323b-8003-46f4-b647-6983117e45a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46c44001-0baa-4a09-ad1d-0a9079d8f589","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.4830763} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.041438,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7","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":"03145f70-18ec-11ef-b4a6-53fbcbef7f4b"},"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/8989323b-8003-46f4-b647-6983117e45a7 200 7ms","method":"GET","requestID":"03145f70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":7,"status":200,"url":"/peerconnections/8989323b-8003-46f4-b647-6983117e45a7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"14666d54a6e6883f43af9c851baf4a7d","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"14666d54a6e6883f43af9c851baf4a7d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b14fa64-896d-4532-ac67-73b70e418257","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.507977} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.262772,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","rebac_allow":false,"scope_allow":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":"031808f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling 200 9ms","method":"POST","requestID":"031808f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b441a472-3fd1-4562-932c-ebb6fe5d4753","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.5180898} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.200107,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","rebac_allow":false,"scope_allow":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":"0319b6a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling 200 8ms","method":"POST","requestID":"0319b6a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c7a061fb8111985e210fe051a2415b39","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.641307,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7a061fb8111985e210fe051a2415b39"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7a061fb8111985e210fe051a2415b39"} experiment-1 | {"level":"info","message":"GET /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2 200 11ms","method":"GET","requestID":"c7a061fb8111985e210fe051a2415b39","responseTime":11,"status":200,"url":"/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a15718d000c27a3cda280c941019085f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.971291,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a15718d000c27a3cda280c941019085f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.150089,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03237aa0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8989323b-8003-46f4-b647-6983117e45a7","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":"e886a1f9ebd7070347bff98179307c0c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8989323b-8003-46f4-b647-6983117e45a7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8989323b-8003-46f4-b647-6983117e45a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"e7fbb20c-85ad-4119-972b-a3a5fc0ee612","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.5960798} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83506e6d-8d70-4263-aa1c-7844015cd48c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.596474} 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/ba392e76-9620-4f09-9401-b5b80b1f113a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"713c5de427a5ff7eca9254acfe66bf7b","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/ba392e76-9620-4f09-9401-b5b80b1f113a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8989323b-8003-46f4-b647-6983117e45a7"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03237aa0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"8989323b-8003-46f4-b647-6983117e45a7","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/8989323b-8003-46f4-b647-6983117e45a7 204 42ms","method":"DELETE","requestID":"03237aa0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":42,"status":204,"url":"/peerconnections/8989323b-8003-46f4-b647-6983117e45a7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba392e76-9620-4f09-9401-b5b80b1f113a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9603a8df-f9e2-46d4-b2b8-784be9710f4a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.6518903} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.045414,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"032ddae0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling 200 10ms","method":"POST","requestID":"032ddae0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/ba392e76-9620-4f09-9401-b5b80b1f113a/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfaaf04e-4221-4f84-ac8c-2a923be7d2d2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcfaaf04e-4221-4f84-ac8c-2a923be7d2d2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"42deaa3e-52ff-4395-aa84-0668f7e64513","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.6588829} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9a66fde-24a2-4713-81f1-f172adb3fd47","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.6597264} 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":"a15718d000c27a3cda280c941019085f"},"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:50018","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc4c0fc96-e972-4ba7-a3f5-f950577c953b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75d59ec8-962f-41fe-94b0-ce1ffb05abc6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.6643648} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.618804,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"032fd6b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling 200 10ms","method":"POST","requestID":"032fd6b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a15718d000c27a3cda280c941019085f"} experiment-1 | {"level":"info","message":"DELETE /experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2 204 158ms","method":"DELETE","requestID":"a15718d000c27a3cda280c941019085f","responseTime":158,"status":204,"url":"/experiments/cfaaf04e-4221-4f84-ac8c-2a923be7d2d2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"e886a1f9ebd7070347bff98179307c0c","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"e886a1f9ebd7070347bff98179307c0c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"713c5de427a5ff7eca9254acfe66bf7b","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"713c5de427a5ff7eca9254acfe66bf7b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1ed2494f0d4c6527e1fc81455939e227","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.251815,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.674","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"71f6aaadc55a32ba85b8ee21e2a27ab0"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2645","request_time":"0.680","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ca77eb56825d7aad93754bcff39f8f0c"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ed2494f0d4c6527e1fc81455939e227"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c4c0fc96-e972-4ba7-a3f5-f950577c953b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ba392e76-9620-4f09-9401-b5b80b1f113a' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d38607f3-568a-41fc-9596-22a94314e39f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.756252} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ed2494f0d4c6527e1fc81455939e227"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddcb09c9-b663-4846-a16d-301ac157bb9d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.7616746} 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":"1ed2494f0d4c6527e1fc81455939e227"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"ed270d9e-f651-472a-946d-f0fb49ad31c4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.7724776} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a63b6555-dd83-4c72-a0d7-99761297edad","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.7726305} 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":"1ed2494f0d4c6527e1fc81455939e227"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.772458216Z"}]},"request_id":"3430f983-ecd0-4e21-81cb-8cfb2fa0eb00","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.777659} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ed2494f0d4c6527e1fc81455939e227"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"1ed2494f0d4c6527e1fc81455939e227","responseTime":49,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ed2494f0d4c6527e1fc81455939e227"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e3ec385f02dc8bb4e7ada057e9e0914","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.866821,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458741,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0MX0.pAsUCY_UEWCjQ0tvFZvCuJS2vH-BA8NtdqUYaWY1vRQ"} 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":"7e3ec385f02dc8bb4e7ada057e9e0914"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c0288e6a-2f46-4f9b-8c52-c4f4c7994f67","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.8060925} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e3ec385f02dc8bb4e7ada057e9e0914"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"808aa78f-4b8b-48ac-8c43-415662368c27","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.8118517} 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":"7e3ec385f02dc8bb4e7ada057e9e0914"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"5ce97ab9-3b32-45ed-a242-5f02b87480ca","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.8222442} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8262aa3-ef54-4733-b1cb-bc3b6a9e1b62","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.8226764} 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":"7e3ec385f02dc8bb4e7ada057e9e0914"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.822229101Z"}]},"request_id":"839eeb03-7efc-4eb2-b634-cb24fdbd1bd9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458741.8282442} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e3ec385f02dc8bb4e7ada057e9e0914"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e3ec385f02dc8bb4e7ada057e9e0914"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"7e3ec385f02dc8bb4e7ada057e9e0914","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Mn0.-I9yr-tk5wqVDsofXAXYX39OvwyP6cCLCJCCT_Lg5h4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eee7f931ce1eff1c44296d987a71a428","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:42Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862791,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458742,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Mn0.-I9yr-tk5wqVDsofXAXYX39OvwyP6cCLCJCCT_Lg5h4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eee7f931ce1eff1c44296d987a71a428"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.772458216Z"}]},"request_id":"c7e70ca2-2f75-40a3-8a57-7a1e0ba79418","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458742.3198044} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eee7f931ce1eff1c44296d987a71a428"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"390fc218-a302-4def-8044-1c1cc52508b5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458742.3277133} 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":"eee7f931ce1eff1c44296d987a71a428"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.772458216Z"}]},"request_id":"84f4beb5-fc56-4964-a35a-65856b72d746","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458742.353163} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eee7f931ce1eff1c44296d987a71a428"},"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":"23/May/2024:10:05:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/174c780d-76a8-43f6-b7df-cc695338f1ac HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"eee7f931ce1eff1c44296d987a71a428"} device-1 | {"level":"info","message":"PATCH /devices/174c780d-76a8-43f6-b7df-cc695338f1ac 200 52ms","method":"PATCH","requestID":"eee7f931ce1eff1c44296d987a71a428","responseTime":52,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Mn0.-I9yr-tk5wqVDsofXAXYX39OvwyP6cCLCJCCT_Lg5h4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba194a7529f7f4cd670e4af3cb4dfe48","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:42Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.26894,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458742,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Mn0.-I9yr-tk5wqVDsofXAXYX39OvwyP6cCLCJCCT_Lg5h4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba194a7529f7f4cd670e4af3cb4dfe48"},"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":"23/May/2024:10:05:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/174c780d-76a8-43f6-b7df-cc695338f1ac/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ba194a7529f7f4cd670e4af3cb4dfe48"} device-1 | {"level":"info","message":"POST /devices/174c780d-76a8-43f6-b7df-cc695338f1ac/websocket 200 28ms","method":"POST","requestID":"ba194a7529f7f4cd670e4af3cb4dfe48","responseTime":28,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac' 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":"2e919663e43bdfdaa81cef4d32165f89","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/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":"2e919663e43bdfdaa81cef4d32165f89"} device-1 | {"level":"info","message":"OPTIONS /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/websocket 200 2ms","method":"OPTIONS","requestID":"2e919663e43bdfdaa81cef4d32165f89","responseTime":2,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15a7fa0664657d36655319442feeef6d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.419051,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15a7fa0664657d36655319442feeef6d"},"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":"23/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"15a7fa0664657d36655319442feeef6d"} device-1 | {"level":"info","message":"POST /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/websocket 200 46ms","method":"POST","requestID":"15a7fa0664657d36655319442feeef6d","responseTime":46,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d68be75b15ccdff1222f3a23ffaf308","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195425,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d68be75b15ccdff1222f3a23ffaf308"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.772458216Z"}]},"request_id":"9b127d00-f121-4fde-87cb-74930bc0d42b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458743.919611} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d68be75b15ccdff1222f3a23ffaf308"},"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":"23/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/174c780d-76a8-43f6-b7df-cc695338f1ac? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d68be75b15ccdff1222f3a23ffaf308"} device-1 | {"level":"info","message":"GET /devices/174c780d-76a8-43f6-b7df-cc695338f1ac? 200 19ms","method":"GET","requestID":"8d68be75b15ccdff1222f3a23ffaf308","responseTime":19,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f9c237250a60939f7986d50b2fbea126","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.186193,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9c237250a60939f7986d50b2fbea126"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.822229101Z"}]},"request_id":"960cddde-b7eb-49f6-896f-e690fc832493","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458743.9469032} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9c237250a60939f7986d50b2fbea126"},"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/4e7e629b-1ea5-4e91-9f15-082db07d2d10? 200 18ms","method":"GET","requestID":"f9c237250a60939f7986d50b2fbea126","responseTime":18,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10?"} gateway-1 | {"time_local":"23/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9c237250a60939f7986d50b2fbea126"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"581dae478b5b562221978e90832fbd75","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:50018","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.228593,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} 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":"581dae478b5b562221978e90832fbd75"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"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:50018","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.369344,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0497f230-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804643,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04986760-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.772458216Z"}]},"request_id":"bd5fc317-72b9-4619-ba82-44d8054eb792","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.0316494} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0497f230-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.822229101Z"}]},"request_id":"2063a0ef-9c1f-414a-a20f-2c306cc4eb56","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.032559} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04986760-18ec-11ef-b4a6-53fbcbef7f4b"},"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/174c780d-76a8-43f6-b7df-cc695338f1ac? 200 18ms","method":"GET","requestID":"0497f230-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10? 200 16ms","method":"GET","requestID":"04986760-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"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:50018","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36381,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} 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":"04a38af0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:54830","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.626089,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} 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":"04a40020-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.944998,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3f41171-b9f5-4504-9a14-50d84aa6b373","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.111298} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.772458216Z"}]},"request_id":"9d82e6dd-87f5-4a13-8fda-71d56a318822","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1159048} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","rebac_allow":false,"scope_allow":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":"04a44e40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} 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":"04a38af0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.822229101Z"}]},"request_id":"c02e7bcf-5156-4464-95b2-7525535c9fbb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1177993} 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":"04a40020-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e8ef954f-bf92-4a91-a0a1-f860e956eb49","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1284423} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b58a716d-a644-4952-bac3-aeba2d41cc91","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1289043} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling 200 30ms","method":"POST","requestID":"04a44e40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":30,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"581dae478b5b562221978e90832fbd75"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"GET /devices/174c780d-76a8-43f6-b7df-cc695338f1ac? 200 38ms","method":"GET","requestID":"04a38af0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":38,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10? 200 38ms","method":"GET","requestID":"04a40020-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":38,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f2cd548-067a-431d-8e21-557e2d2fe77c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1463516} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.137621,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","rebac_allow":false,"scope_allow":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":"04aa1aa0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 193ms","method":"POST","requestID":"581dae478b5b562221978e90832fbd75","responseTime":193,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:05:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"581dae478b5b562221978e90832fbd75"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling 200 17ms","method":"POST","requestID":"04aa1aa0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c2eb66f-57f5-4895-893d-6a5281ec75ca","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1574075} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.633921,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","rebac_allow":false,"scope_allow":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":"04ab5320-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0NH0.rrjY6MMVfgDEDeE-UsW2XS3hHDJAlF-uPYJb3p8KELc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"523b45d28041dfe07acd89f3708826a9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} device-1 | {"level":"info","message":"POST /devices/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling 200 23ms","method":"POST","requestID":"04ab5320-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.231971,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458744,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0NH0.rrjY6MMVfgDEDeE-UsW2XS3hHDJAlF-uPYJb3p8KELc"} 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":"523b45d28041dfe07acd89f3708826a9"},"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:50018","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ae01702-7abb-4d6d-8efb-eacbed6c5531","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1810548} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.385196,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.772458216Z"}]},"request_id":"d7869ac1-7072-43f9-94f4-dcdeb3eaf86f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.1823175} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","rebac_allow":false,"scope_allow":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":"04af71d0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"523b45d28041dfe07acd89f3708826a9"},"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/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling 200 19ms","method":"POST","requestID":"04af71d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/174c780d-76a8-43f6-b7df-cc695338f1ac? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"523b45d28041dfe07acd89f3708826a9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Building connection plan"} device-1 | {"level":"info","message":"GET /devices/174c780d-76a8-43f6-b7df-cc695338f1ac? 200 30ms","method":"GET","requestID":"523b45d28041dfe07acd89f3708826a9","responseTime":30,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac?"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"64219c94-c11e-4541-8be2-de46ab25b006"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"68b09f2d-2960-4f0c-8271-11157aeb63b6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"614dfa40-6eac-4137-a97e-2087bdc36df6"}]},"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/4e7e629b-1ea5-4e91-9f15-082db07d2d10"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0NH0.rrjY6MMVfgDEDeE-UsW2XS3hHDJAlF-uPYJb3p8KELc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d4bbcb864550c4ccfff54acf1d20af73","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.323861,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458743,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0M30.sZUt6Q008AE8i_z6GAURT96NLrMxgR8m-3V4dj8kfdc"} 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":"04b31b50-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190342,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458744,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0NH0.rrjY6MMVfgDEDeE-UsW2XS3hHDJAlF-uPYJb3p8KELc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4bbcb864550c4ccfff54acf1d20af73"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:41.822229101Z"}]},"request_id":"57357ba8-825f-4656-8323-419668cb3533","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.2156022} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4bbcb864550c4ccfff54acf1d20af73"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"3a76f8e0-ca2c-4e92-9b9a-28bb8b40b7e3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.2170417} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"172d5feb-f1e1-40fd-a3e7-438db67d4888","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.2175777} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04b31b50-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4bbcb864550c4ccfff54acf1d20af73"} device-1 | {"level":"info","message":"GET /devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10? 200 20ms","method":"GET","requestID":"d4bbcb864550c4ccfff54acf1d20af73","responseTime":20,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10?"} 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/5b90b41f-ff08-4072-b39a-74517a9b974c'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c'"} 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":"04b31b50-18ec-11ef-b4a6-53fbcbef7f4b","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/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9111c4a-a16e-4539-a116-ee199faec19e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.2956626} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.90538,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","rebac_allow":false,"scope_allow":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":"04c14c20-18ec-11ef-b4a6-53fbcbef7f4b"},"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/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling 200 11ms","method":"POST","requestID":"04c14c20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c423304d-facd-448c-b598-47da657312a2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458744.309207} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.287139,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","rebac_allow":false,"scope_allow":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":"04c36f00-18ec-11ef-b4a6-53fbcbef7f4b"},"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/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling 200 9ms","method":"POST","requestID":"04c36f00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling"} device-1 | {"data":{"peerconnection":"5b90b41f-ff08-4072-b39a-74517a9b974c","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/5b90b41f-ff08-4072-b39a-74517a9b974c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b90b41f-ff08-4072-b39a-74517a9b974c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f662171d2d4418d5b9a2fd84e8090e6e","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/4e7e629b-1ea5-4e91-9f15-082db07d2d10"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f662171d2d4418d5b9a2fd84e8090e6e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"f662171d2d4418d5b9a2fd84e8090e6e"} device-1 | {"data":{"peerconnection":"5b90b41f-ff08-4072-b39a-74517a9b974c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5b90b41f-ff08-4072-b39a-74517a9b974c","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b90b41f-ff08-4072-b39a-74517a9b974c","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":"7e194a2c24dae9e09f0fdcfc8e336ee1","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/4e7e629b-1ea5-4e91-9f15-082db07d2d10"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b90b41f-ff08-4072-b39a-74517a9b974c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"857a5416-8e96-4e2a-b9fd-017a4daafade","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.4736428} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.062102,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c","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":"060d5420-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5b90b41f-ff08-4072-b39a-74517a9b974c 200 15ms","method":"GET","requestID":"060d5420-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 62ms","method":"POST","requestID":"7e194a2c24dae9e09f0fdcfc8e336ee1","responseTime":62,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch","requestID":"7e194a2c24dae9e09f0fdcfc8e336ee1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3eba332-b235-4325-83d8-2a31560fb24c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.5268598} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.006413,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","rebac_allow":false,"scope_allow":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":"06154360-18ec-11ef-b4a6-53fbcbef7f4b"},"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/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling 200 17ms","method":"POST","requestID":"06154360-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4d54161-65b6-469e-994f-e2ee28f34212","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.5473223} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.038139,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","rebac_allow":false,"scope_allow":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":"061877b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling 200 17ms","method":"POST","requestID":"061877b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f1449db6cd4341831c6be6914c061a3c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.216737,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458746,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY"} 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":"f1449db6cd4341831c6be6914c061a3c"},"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/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1449db6cd4341831c6be6914c061a3c"} experiment-1 | {"level":"info","message":"GET /experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3 200 17ms","method":"GET","requestID":"f1449db6cd4341831c6be6914c061a3c","responseTime":17,"status":200,"url":"/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd02837332e50a37dd6b53a50984c620","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.275468,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458746,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY"} 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":"fd02837332e50a37dd6b53a50984c620"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":3.744295,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458746,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","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":"0632b670-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b90b41f-ff08-4072-b39a-74517a9b974c","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":"6212bf390c99e88dd0ef2e53eef6f367","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1a2fa0c69516a19123f2e1937b4bf8c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b90b41f-ff08-4072-b39a-74517a9b974c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b90b41f-ff08-4072-b39a-74517a9b974c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"779e2a62-a502-4232-bbb9-88243ec65389","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.7503815} 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/4e7e629b-1ea5-4e91-9f15-082db07d2d10"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c"}}},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45c31898-11d3-4d4c-a3cc-d4c8f84612b0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.7506304} 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":"0632b670-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"5b90b41f-ff08-4072-b39a-74517a9b974c","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/5b90b41f-ff08-4072-b39a-74517a9b974c 204 62ms","method":"DELETE","requestID":"0632b670-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":62,"status":204,"url":"/peerconnections/5b90b41f-ff08-4072-b39a-74517a9b974c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e7e629b-1ea5-4e91-9f15-082db07d2d10","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc37898a-487d-4849-b238-70ca4a46ba50","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.802374} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.91957,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10","object_type":"device","rebac_allow":false,"scope_allow":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":"063faec0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling 200 13ms","method":"POST","requestID":"063faec0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/4e7e629b-1ea5-4e91-9f15-082db07d2d10/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"d56401cb-490d-4531-8fd5-23f4d566691b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.8112657} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"191d1274-efc0-40c4-a1cd-cd0926c9d284","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.811635} 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":"fd02837332e50a37dd6b53a50984c620"},"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:50018","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F174c780d-76a8-43f6-b7df-cc695338f1ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1cb8d35-ddfc-49d1-86e2-358a789fce8c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.8196003} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.209013,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac","object_type":"device","rebac_allow":false,"scope_allow":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":"06421fc0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling 200 15ms","method":"POST","requestID":"06421fc0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/174c780d-76a8-43f6-b7df-cc695338f1ac/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd02837332e50a37dd6b53a50984c620"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2598","request_time":"4.486","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"786daf0087e2770ce2ca1775b8a4f623"} experiment-1 | {"level":"info","message":"DELETE /experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3 204 190ms","method":"DELETE","requestID":"fd02837332e50a37dd6b53a50984c620","responseTime":190,"status":204,"url":"/experiments/079f46e9-72c7-48dc-88bc-b8cf9d6d1ca3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"6212bf390c99e88dd0ef2e53eef6f367","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"6212bf390c99e88dd0ef2e53eef6f367"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"e1a2fa0c69516a19123f2e1937b4bf8c","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1a2fa0c69516a19123f2e1937b4bf8c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"403b623127892077b162e572c11b34c7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"3.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":"7b126fb4381c98466092e4cf6a4e9b38"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.783314,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/174c780d-76a8-43f6-b7df-cc695338f1ac' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458746,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY"} 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":"403b623127892077b162e572c11b34c7"},"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/4e7e629b-1ea5-4e91-9f15-082db07d2d10' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc851cc8-c4bf-476e-a831-f4c7a8da7095","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9115431} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"403b623127892077b162e572c11b34c7"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c4784d1-a7cf-4c66-949d-5e8127aacf57","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9180398} 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":"403b623127892077b162e572c11b34c7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"171b5ad0-0b38-4e93-ae27-857ce3d35036","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9305608} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"cd2758d1-7bf5-441e-87da-eb0dde0e7d9a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9307516} 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":"403b623127892077b162e572c11b34c7"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.930681673Z"}]},"request_id":"6cbf1a6f-0653-4f01-a8ba-45bf0d9557b5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9350367} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"403b623127892077b162e572c11b34c7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"403b623127892077b162e572c11b34c7"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"403b623127892077b162e572c11b34c7","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3c5c2893a9f64b079c16d3a7fdf09ead","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71566,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458746,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0Nn0.47H2pl1X_3Oo0YT8DBQ0N_De1euWhEvr7vDrbNyulxY"} 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":"3c5c2893a9f64b079c16d3a7fdf09ead"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4872a665-d476-4438-92d1-deb66eb68d32","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9621727} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c5c2893a9f64b079c16d3a7fdf09ead"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5319d9ea-4de8-40e9-b9e1-db092595fa22","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.966898} 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":"3c5c2893a9f64b079c16d3a7fdf09ead"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"34f97cd9-7cfc-46eb-b862-e1291613f4fb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9777408} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1f07dff-267c-4816-9f9f-28ada6e11941","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.9778821} 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":"3c5c2893a9f64b079c16d3a7fdf09ead"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.977721583Z"}]},"request_id":"d582cb93-45ab-438a-82dc-92643146ed7d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458746.981795} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c5c2893a9f64b079c16d3a7fdf09ead"},"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":"3c5c2893a9f64b079c16d3a7fdf09ead","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c5c2893a9f64b079c16d3a7fdf09ead"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9460a7f8804e2002d6b9519f662181a2","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"240c61c595de6f46f8f787e5dc9358ee","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/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":"9460a7f8804e2002d6b9519f662181a2"} device-1 | {"level":"info","message":"OPTIONS /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/websocket 200 1ms","method":"OPTIONS","requestID":"9460a7f8804e2002d6b9519f662181a2","responseTime":1,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/websocket"} gateway-1 | {"time_local":"23/May/2024:10:05:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/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":"240c61c595de6f46f8f787e5dc9358ee"} device-1 | {"level":"info","message":"OPTIONS /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/websocket 200 1ms","method":"OPTIONS","requestID":"240c61c595de6f46f8f787e5dc9358ee","responseTime":1,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OH0.a_wT0xiEqZJQtPv64gY4cwLxnYN_CbSnYEdSuMxgUmQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"00c0ddc0e4e4a095735693ff0ac1e394","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OH0.a_wT0xiEqZJQtPv64gY4cwLxnYN_CbSnYEdSuMxgUmQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e1874e01e7f96354c6b1fd4a40b5efc6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105914,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458748,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OH0.a_wT0xiEqZJQtPv64gY4cwLxnYN_CbSnYEdSuMxgUmQ"} 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":"00c0ddc0e4e4a095735693ff0ac1e394"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78765,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458748,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OH0.a_wT0xiEqZJQtPv64gY4cwLxnYN_CbSnYEdSuMxgUmQ"} 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":"e1874e01e7f96354c6b1fd4a40b5efc6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e1874e01e7f96354c6b1fd4a40b5efc6"} device-1 | {"level":"info","message":"POST /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/websocket 200 18ms","method":"POST","requestID":"e1874e01e7f96354c6b1fd4a40b5efc6","responseTime":18,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.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":"00c0ddc0e4e4a095735693ff0ac1e394"} device-1 | {"level":"info","message":"POST /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/websocket 200 66ms","method":"POST","requestID":"00c0ddc0e4e4a095735693ff0ac1e394","responseTime":66,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eb969e7cec8b5caf49f2b72e860674dd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734764,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb969e7cec8b5caf49f2b72e860674dd"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.930681673Z"}]},"request_id":"a62ba071-f806-45be-8f84-12063b23ad02","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.1211712} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb969e7cec8b5caf49f2b72e860674dd"},"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":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb969e7cec8b5caf49f2b72e860674dd"} device-1 | {"level":"info","message":"GET /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db? 200 16ms","method":"GET","requestID":"eb969e7cec8b5caf49f2b72e860674dd","responseTime":16,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"96e70e50f34aa3ad8e1e9305c7287b75","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706883,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e70e50f34aa3ad8e1e9305c7287b75"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.977721583Z"}]},"request_id":"e05063b0-8e9a-4fac-bae9-11031678fd48","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.143798} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e70e50f34aa3ad8e1e9305c7287b75"},"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":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96e70e50f34aa3ad8e1e9305c7287b75"} device-1 | {"level":"info","message":"GET /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c? 200 19ms","method":"GET","requestID":"96e70e50f34aa3ad8e1e9305c7287b75","responseTime":19,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d837db759d4fb0e38dcb9f3ef48713b","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:50018","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.303485,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"7d837db759d4fb0e38dcb9f3ef48713b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Successfully booked experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.882634,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"07b49b80-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.066688,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07b537c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.930681673Z"}]},"request_id":"2a4b1146-fc02-4030-b5d8-fa3acc64068b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.2541828} 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":"07b49b80-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.977721583Z"}]},"request_id":"d8b064d9-330c-4f5a-9c59-3617e1204ad0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.2590148} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db? 200 20ms","method":"GET","requestID":"07b49b80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07b537c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c? 200 20ms","method":"GET","requestID":"07b537c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"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/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.734776,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"07c16cc0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.603793,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"07c1e1f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cf83a89-e418-4078-881f-b756cda1e8d1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3419106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.977721583Z"}]},"request_id":"5b7ecc01-a73a-4f0c-ac71-531c68e3fd06","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3428156} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.22251,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","rebac_allow":false,"scope_allow":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":"07c25720-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07c1e1f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.930681673Z"}]},"request_id":"070ecf4b-9348-4d5c-b06a-c33592abfe70","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3449345} 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":"07c16cc0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2e5766a6-3b0a-4b28-8dde-8afe5c9bb394","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3535016} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e33d3153-5670-48d2-bcf2-fe0ad4644079","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3539438} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"7d837db759d4fb0e38dcb9f3ef48713b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"POST /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling 200 27ms","method":"POST","requestID":"07c25720-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":27,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c? 200 32ms","method":"GET","requestID":"07c1e1f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":32,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db? 200 36ms","method":"GET","requestID":"07c16cc0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":36,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a8dd6ea-cfaa-403e-b8df-f57616dad924","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.37303} experiment-1 | {"level":"info","message":"POST /experiments? 201 215ms","method":"POST","requestID":"7d837db759d4fb0e38dcb9f3ef48713b","responseTime":215,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.221","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d837db759d4fb0e38dcb9f3ef48713b"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.358033,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","rebac_allow":false,"scope_allow":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":"07c76030-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4e6fda7-74ab-4825-8f45-e1c12a960236","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3768167} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.558212,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","rebac_allow":false,"scope_allow":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":"07c82380-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"96bf2a19c3f1d5f70a9aa0cbbd74bb73","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling 200 20ms","method":"POST","requestID":"07c76030-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling 200 19ms","method":"POST","requestID":"07c82380-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988019,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96bf2a19c3f1d5f70a9aa0cbbd74bb73"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40c3368c-3d8d-47fb-95c7-ce82cf7e232a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3958588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.930681673Z"}]},"request_id":"476a160f-7da8-43d3-8fa3-3f21a4cb886b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.3961067} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96bf2a19c3f1d5f70a9aa0cbbd74bb73"},"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:50018","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.564727,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","rebac_allow":false,"scope_allow":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":"07cb7ee0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96bf2a19c3f1d5f70a9aa0cbbd74bb73"} device-1 | {"level":"info","message":"GET /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db? 200 18ms","method":"GET","requestID":"96bf2a19c3f1d5f70a9aa0cbbd74bb73","responseTime":18,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling 200 14ms","method":"POST","requestID":"07cb7ee0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"99e7bc48-f20a-4d76-a9e8-140fda2ec48f"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"54bba350-a485-4611-b3c6-0841fc5d0f3a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"158bed52-aa73-4bc9-a536-4a20935a46bd"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"25b1fabf730ad3cd03426b4395af0490","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:50018","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.7817,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"07ce6510-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807515,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25b1fabf730ad3cd03426b4395af0490"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:46.977721583Z"}]},"request_id":"e07fdab7-12b0-4c65-9d68-13c6156f96f1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.4208162} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25b1fabf730ad3cd03426b4395af0490"},"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":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25b1fabf730ad3cd03426b4395af0490"} device-1 | {"level":"info","message":"GET /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c? 200 20ms","method":"GET","requestID":"25b1fabf730ad3cd03426b4395af0490","responseTime":20,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e88d8eb7-68db-4cb9-9779-bc3c35f21ae6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.433177} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"052de65a-f0c4-4e2c-aa67-ac833e6b2162","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.433397} 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":"07ce6510-18ec-11ef-b4a6-53fbcbef7f4b"},"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/a52a8ac3-58a4-40e2-bf74-57617c9e52e4'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"07ce6510-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d4f4b43-63d8-4823-9af7-6e972ee960cd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.4914556} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.733411,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"07d9fdd0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling 200 14ms","method":"POST","requestID":"07d9fdd0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23917e47-3a19-401c-b8fb-65342d3d029b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.5060103} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.662307,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07dc6ed0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling 200 13ms","method":"POST","requestID":"07dc6ed0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a52a8ac3-58a4-40e2-bf74-57617c9e52e4","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a718543af682736078afb2e3d78581b3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"a718543af682736078afb2e3d78581b3","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"a718543af682736078afb2e3d78581b3"} device-1 | {"data":{"peerconnection":"a52a8ac3-58a4-40e2-bf74-57617c9e52e4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a52a8ac3-58a4-40e2-bf74-57617c9e52e4","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a52a8ac3-58a4-40e2-bf74-57617c9e52e4","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":"8204548dc8945b7d9a2a16895df16b14","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa52a8ac3-58a4-40e2-bf74-57617c9e52e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d892c7f-5ec1-41b1-bc75-0bd5e42b0267","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.5949633} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.682637,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4","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":"07ea0360-18ec-11ef-b4a6-53fbcbef7f4b"},"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/a52a8ac3-58a4-40e2-bf74-57617c9e52e4 200 10ms","method":"GET","requestID":"07ea0360-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"8204548dc8945b7d9a2a16895df16b14","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"8204548dc8945b7d9a2a16895df16b14"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce548d04-13ac-412f-9435-e4f4c2d93228","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.628517} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.78007,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07ef0c70-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling 200 11ms","method":"POST","requestID":"07ef0c70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a996586-fc87-4c06-879e-82dbcca9486e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.6418335} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477805,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"07f12f50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling 200 12ms","method":"POST","requestID":"07f12f50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"33a3f5afe2d5855157356cbb7b7afdd5","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.515083,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"33a3f5afe2d5855157356cbb7b7afdd5"},"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/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"} experiment-1 | {"level":"info","message":"GET /experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53 200 18ms","method":"GET","requestID":"33a3f5afe2d5855157356cbb7b7afdd5","responseTime":18,"status":200,"url":"/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33a3f5afe2d5855157356cbb7b7afdd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f8a7b23badc57b76cafae1d935c4970","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.176845,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"5f8a7b23badc57b76cafae1d935c4970"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.39987,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} 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":"080e5440-18ec-11ef-b4a6-53fbcbef7f4b"},"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/a52a8ac3-58a4-40e2-bf74-57617c9e52e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a52a8ac3-58a4-40e2-bf74-57617c9e52e4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa52a8ac3-58a4-40e2-bf74-57617c9e52e4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa52a8ac3-58a4-40e2-bf74-57617c9e52e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"e4172805-d279-40bb-86a8-250c11d5a29c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.8541963} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78bcbe1d-d373-4fb7-b436-33fa2d7a4324","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.854473} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"435658226efc6fa4934c13fe231eb1c7","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"080e5440-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3309a5e3060dc84ec841e7eb31fdb107","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a52a8ac3-58a4-40e2-bf74-57617c9e52e4","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/a52a8ac3-58a4-40e2-bf74-57617c9e52e4 204 54ms","method":"DELETE","requestID":"080e5440-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":54,"status":204,"url":"/peerconnections/a52a8ac3-58a4-40e2-bf74-57617c9e52e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4692ecc3-c46f-4bfb-aafe-46628dc389a4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.9136543} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.1027,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db","object_type":"device","rebac_allow":false,"scope_allow":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":"081a3b20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"a12d7dd3-2013-44ae-8ad9-cacb97fb7fd1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.9165843} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fc61d0a-cbc0-43b1-9079-cb432f061572","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.9171126} 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":"5f8a7b23badc57b76cafae1d935c4970"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling 200 16ms","method":"POST","requestID":"081a3b20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32387e1a-1378-4e77-904e-ff1ecacaec54","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458749.9310439} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.165257,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"081d2150-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling 200 12ms","method":"POST","requestID":"081d2150-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f8a7b23badc57b76cafae1d935c4970"} experiment-1 | {"level":"info","message":"DELETE /experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53 204 169ms","method":"DELETE","requestID":"5f8a7b23badc57b76cafae1d935c4970","responseTime":169,"status":204,"url":"/experiments/06c1c1a7-78fe-4dd5-a61b-1c01c70e0e53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"435658226efc6fa4934c13fe231eb1c7","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"435658226efc6fa4934c13fe231eb1c7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"3309a5e3060dc84ec841e7eb31fdb107","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"3309a5e3060dc84ec841e7eb31fdb107"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa0f902b50ef129beb491c823b431948","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:49Z"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2629","request_time":"1.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":"8ad89ac21ccf68c67ac0896977c436f9"} gateway-1 | {"time_local":"23/May/2024:10:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2630","request_time":"0.955","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9642cb416f8b07914db40106f2531315"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.686238,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458749,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc0OX0.mdHYreWX4Zq9WEhpBlYWl45Rjq9oW_SnjkkhRCbkXnE"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9a6eefa3-bdf8-4e49-b56c-b165fbe6d70c' closed"} 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":"fa0f902b50ef129beb491c823b431948"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5b6b23d1-1cf7-4e64-8f84-141e90e4b4db' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e089877-6b69-4c08-81f4-a4b8d7076a98","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0117822} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa0f902b50ef129beb491c823b431948"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e54e9e5-b0c9-42ea-8a2c-45ce0cee4c23","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0162797} 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":"fa0f902b50ef129beb491c823b431948"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"56624c11-7566-4c54-8deb-705023fa5e5b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0255935} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b853958-f1fd-4e34-b80a-f6e4969435e9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.026927} 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":"fa0f902b50ef129beb491c823b431948"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.025570814Z"}]},"request_id":"1daf9ee0-5e82-4ccf-9925-99d531699f92","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0313728} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa0f902b50ef129beb491c823b431948"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa0f902b50ef129beb491c823b431948"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"fa0f902b50ef129beb491c823b431948","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1MH0.fxDmk3VjV6dkVRw5RPwjMMwybXsC65kVyeQ4CPUm7FY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf0c66e16e514ebbf93e46a97e751f9e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.6589,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458750,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1MH0.fxDmk3VjV6dkVRw5RPwjMMwybXsC65kVyeQ4CPUm7FY"} 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":"bf0c66e16e514ebbf93e46a97e751f9e"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4df09290-6f52-422c-b984-cdb6114a2eef","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0569713} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf0c66e16e514ebbf93e46a97e751f9e"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01d27ae0-7a3e-489f-82fe-56e120e09372","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0628965} 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":"bf0c66e16e514ebbf93e46a97e751f9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2a0a089f-f26d-47b1-b865-52cde930ceb9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0748215} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5f1838e-bfc5-4c92-b1b7-73ae5cd3b18e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.075011} 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":"bf0c66e16e514ebbf93e46a97e751f9e"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.074805430Z"}]},"request_id":"21116d5e-1fa1-42b9-a779-a3f6bcbfe938","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.0795689} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf0c66e16e514ebbf93e46a97e751f9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf0c66e16e514ebbf93e46a97e751f9e"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"bf0c66e16e514ebbf93e46a97e751f9e","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1MH0.fxDmk3VjV6dkVRw5RPwjMMwybXsC65kVyeQ4CPUm7FY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a434647bab5954bac8d07eefe968f73c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869192,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458750,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1MH0.fxDmk3VjV6dkVRw5RPwjMMwybXsC65kVyeQ4CPUm7FY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a434647bab5954bac8d07eefe968f73c"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.074805430Z"}]},"request_id":"78556d2e-9549-467f-92d7-47b31b05cfc9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.57769} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a434647bab5954bac8d07eefe968f73c"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32112d86-6f10-4986-9594-e0d8312ea22e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.584348} 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":"a434647bab5954bac8d07eefe968f73c"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.074805430Z"}]},"request_id":"bfc43aa1-ff7b-431c-be71-4a4333c98700","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458750.6091833} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a434647bab5954bac8d07eefe968f73c"},"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":"23/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a434647bab5954bac8d07eefe968f73c"} device-1 | {"level":"info","message":"PATCH /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39 200 49ms","method":"PATCH","requestID":"a434647bab5954bac8d07eefe968f73c","responseTime":49,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1MH0.fxDmk3VjV6dkVRw5RPwjMMwybXsC65kVyeQ4CPUm7FY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"846d0a3347aba3554e70a7ae7aaa0472","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748476,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458750,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1MH0.fxDmk3VjV6dkVRw5RPwjMMwybXsC65kVyeQ4CPUm7FY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"846d0a3347aba3554e70a7ae7aaa0472"},"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":"23/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"846d0a3347aba3554e70a7ae7aaa0472"} device-1 | {"level":"info","message":"POST /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/websocket 200 22ms","method":"POST","requestID":"846d0a3347aba3554e70a7ae7aaa0472","responseTime":22,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39' 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":"56cc2f76331c2dbea5de836921f70a6c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/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":"56cc2f76331c2dbea5de836921f70a6c"} device-1 | {"level":"info","message":"OPTIONS /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/websocket 200 1ms","method":"OPTIONS","requestID":"56cc2f76331c2dbea5de836921f70a6c","responseTime":1,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ac1fa011acf60100bf2deb64fe13eba1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.339818,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac1fa011acf60100bf2deb64fe13eba1"},"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":"23/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ac1fa011acf60100bf2deb64fe13eba1"} device-1 | {"level":"info","message":"POST /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/websocket 200 37ms","method":"POST","requestID":"ac1fa011acf60100bf2deb64fe13eba1","responseTime":37,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"abe0cadad3fd90cf6cdc7daafbcff0a4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341937,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abe0cadad3fd90cf6cdc7daafbcff0a4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.025570814Z"}]},"request_id":"f295535d-4a34-407a-afa7-ad2b1c40062a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.1540582} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abe0cadad3fd90cf6cdc7daafbcff0a4"},"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":"23/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abe0cadad3fd90cf6cdc7daafbcff0a4"} device-1 | {"level":"info","message":"GET /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16? 200 20ms","method":"GET","requestID":"abe0cadad3fd90cf6cdc7daafbcff0a4","responseTime":20,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5a652cfd00ea2107a30c5ed0c88b11f0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.181291,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a652cfd00ea2107a30c5ed0c88b11f0"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.074805430Z"}]},"request_id":"ba893947-9823-40c5-b9cf-40e6699cc7ce","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.1823628} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a652cfd00ea2107a30c5ed0c88b11f0"},"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":"23/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a652cfd00ea2107a30c5ed0c88b11f0"} device-1 | {"level":"info","message":"GET /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39? 200 21ms","method":"GET","requestID":"5a652cfd00ea2107a30c5ed0c88b11f0","responseTime":21,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59d4c6e0c2ff8ea15aac2df99e14c48a","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:50018","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.154169,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} 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":"59d4c6e0c2ff8ea15aac2df99e14c48a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"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:50018","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.066664,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09800cb0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.872073,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"098033c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.025570814Z"}]},"request_id":"0c4bbd77-fade-4668-99be-d09637ef75be","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.2624114} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09800cb0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.074805430Z"}]},"request_id":"eac4a787-1fdb-472e-8e5d-a91fd92b3ad9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.2636955} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"098033c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16? 200 21ms","method":"GET","requestID":"09800cb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39? 200 21ms","method":"GET","requestID":"098033c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"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:50018","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907678,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"098d0500-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86286,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"098d5320-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.991521,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2254fd0c-e894-4e89-8af3-a09bcabf5f4d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.350681} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.025570814Z"}]},"request_id":"505497c6-c4e8-4ccf-a30b-8ed15ff809e0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.3544} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","rebac_allow":false,"scope_allow":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":"098dc850-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} 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":"098d0500-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.074805430Z"}]},"request_id":"e5b3540d-e37a-42d2-b455-7252d58f008d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.3555186} 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":"098d5320-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling 200 27ms","method":"POST","requestID":"098dc850-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":27,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16? 200 33ms","method":"GET","requestID":"098d0500-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":33,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39? 200 33ms","method":"GET","requestID":"098d5320-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":33,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7800e6e8-f7ff-4004-8341-977dfbef09db#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7800e6e8-f7ff-4004-8341-977dfbef09db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"b633749b-66e9-417d-9449-9fd0188f916a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.371058} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c031eeb0-f78e-4016-9afe-6fe68cb83dd8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.3714726} 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":"59d4c6e0c2ff8ea15aac2df99e14c48a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee0fd17d-a646-4505-b645-d1152aa09ea2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.3782828} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.768268,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"09928340-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e828434e-a35f-470f-b97e-3f814d3a93fe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.3816428} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.093751,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","rebac_allow":false,"scope_allow":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":"0992f870-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59d4c6e0c2ff8ea15aac2df99e14c48a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 187ms","method":"POST","requestID":"59d4c6e0c2ff8ea15aac2df99e14c48a","responseTime":187,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling 200 14ms","method":"POST","requestID":"09928340-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling 200 13ms","method":"POST","requestID":"0992f870-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b27e03ea6bf8fa5065d6cdc036892e8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa24afbe-4435-475f-aab7-69c7c425ce06","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.3965707} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.873242,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:55906","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959465,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09956970-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b27e03ea6bf8fa5065d6cdc036892e8"},"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/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling 200 13ms","method":"POST","requestID":"09956970-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.025570814Z"}]},"request_id":"c55532ed-6752-4fb0-980c-725f09827bce","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.4040954} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b27e03ea6bf8fa5065d6cdc036892e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"cf2ea9da-4282-44dd-9651-d05515900288"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"01e98eca-1fc8-43f6-b53c-2a6523bbae86"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"ecb5b1f6-2537-4481-9ee2-bf8e4491d302"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39"}],"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:50018","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} gateway-1 | {"time_local":"23/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b27e03ea6bf8fa5065d6cdc036892e8"} device-1 | {"level":"info","message":"GET /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16? 200 18ms","method":"GET","requestID":"8b27e03ea6bf8fa5065d6cdc036892e8","responseTime":18,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.918328,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} 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":"0997da70-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"48d390f7555cf3c37fc5e70be5e44a9b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"da31a594-90ae-4c8f-b3bb-8b2bb91111fb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.4214694} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fcbb8710-f277-4c40-9c48-2499bc97723c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.4216838} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.846927,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} 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":"0997da70-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458752,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1Mn0.I31V2JmnB1wt_yWRdBpGmniJzRt3UruNGfyuVupS79A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d390f7555cf3c37fc5e70be5e44a9b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:50.074805430Z"}]},"request_id":"d84d7988-6943-45a2-84b2-09893501e364","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.429387} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48d390f7555cf3c37fc5e70be5e44a9b"},"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/48bc147a-86cf-42b4-a6ed-b529904e8a1d'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"0997da70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"48d390f7555cf3c37fc5e70be5e44a9b"} device-1 | {"level":"info","message":"GET /devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39? 200 29ms","method":"GET","requestID":"48d390f7555cf3c37fc5e70be5e44a9b","responseTime":29,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5467e1b2-4b20-4486-aac9-6d1dc848e0c9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.4801152} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.407527,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09a23ab0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling 200 10ms","method":"POST","requestID":"09a23ab0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6b939e3-1307-4b30-a06b-a377f173f988","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458752.4920955} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465708,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09a40f70-18ec-11ef-b4a6-53fbcbef7f4b"},"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/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling 200 11ms","method":"POST","requestID":"09a40f70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling"} device-1 | {"data":{"peerconnection":"48bc147a-86cf-42b4-a6ed-b529904e8a1d","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/48bc147a-86cf-42b4-a6ed-b529904e8a1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48bc147a-86cf-42b4-a6ed-b529904e8a1d","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":"0cf8a9b17f19c95b5f0c3bf2d6a00117","responseTime":2,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16'"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"0cf8a9b17f19c95b5f0c3bf2d6a00117","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"0cf8a9b17f19c95b5f0c3bf2d6a00117"} device-1 | {"data":{"peerconnection":"48bc147a-86cf-42b4-a6ed-b529904e8a1d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"48bc147a-86cf-42b4-a6ed-b529904e8a1d","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48bc147a-86cf-42b4-a6ed-b529904e8a1d","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":"2c1c26de1e9c45ca251a517ca3288ac6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48bc147a-86cf-42b4-a6ed-b529904e8a1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4e64cd2-921b-4514-8f12-55386ad5662c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458754.6635313} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.175954,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d","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":"0aef2d10-18ec-11ef-b4a6-53fbcbef7f4b"},"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/48bc147a-86cf-42b4-a6ed-b529904e8a1d 200 12ms","method":"GET","requestID":"0aef2d10-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"2c1c26de1e9c45ca251a517ca3288ac6","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"2c1c26de1e9c45ca251a517ca3288ac6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"877ed296-24b5-4aa2-8574-8c8213b0bb02","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458754.6943624} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318967,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0af40f10-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling 200 11ms","method":"POST","requestID":"0af40f10-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88b63039-e1ba-4053-a706-19aa224d5996","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458754.707986} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.793035,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"0af60ae0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling 200 11ms","method":"POST","requestID":"0af60ae0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NH0.sNH_XQdcQYC5GuPYVkOLMOekexRX3hWvAJCMM9fwraE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"affbfb517a5400d9538852e3ac10be33","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.22545,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458754,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NH0.sNH_XQdcQYC5GuPYVkOLMOekexRX3hWvAJCMM9fwraE"} 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":"affbfb517a5400d9538852e3ac10be33"},"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/7800e6e8-f7ff-4004-8341-977dfbef09db"} gateway-1 | {"time_local":"23/May/2024:10:05:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7800e6e8-f7ff-4004-8341-977dfbef09db HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"affbfb517a5400d9538852e3ac10be33"} experiment-1 | {"level":"info","message":"GET /experiments/7800e6e8-f7ff-4004-8341-977dfbef09db 200 16ms","method":"GET","requestID":"affbfb517a5400d9538852e3ac10be33","responseTime":16,"status":200,"url":"/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NH0.sNH_XQdcQYC5GuPYVkOLMOekexRX3hWvAJCMM9fwraE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e0f6b0dda847b5516166563e60209c9","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.338425,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458754,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NH0.sNH_XQdcQYC5GuPYVkOLMOekexRX3hWvAJCMM9fwraE"} 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":"4e0f6b0dda847b5516166563e60209c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.962384,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458754,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NH0.sNH_XQdcQYC5GuPYVkOLMOekexRX3hWvAJCMM9fwraE"} 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":"0b1ec890-18ec-11ef-b4a6-53fbcbef7f4b"},"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/48bc147a-86cf-42b4-a6ed-b529904e8a1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48bc147a-86cf-42b4-a6ed-b529904e8a1d","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48bc147a-86cf-42b4-a6ed-b529904e8a1d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48bc147a-86cf-42b4-a6ed-b529904e8a1d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"c8f8c4f8-ec82-4d67-a224-ade203fc113f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458754.9931183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdddc621-afee-45bc-8a96-cd5c75c04abb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458754.993481} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"513ee39b44d165bb8e13dd6cd0052d7e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b1ec890-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2db3a9bc927abf751e9aad4913eb4192","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"48bc147a-86cf-42b4-a6ed-b529904e8a1d","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/48bc147a-86cf-42b4-a6ed-b529904e8a1d 204 67ms","method":"DELETE","requestID":"0b1ec890-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":67,"status":204,"url":"/peerconnections/48bc147a-86cf-42b4-a6ed-b529904e8a1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4623a5b8-5853-4281-bd99-dc251b94aeee","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.06503} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.250633,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16","object_type":"device","rebac_allow":false,"scope_allow":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":"0b2c5d20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7800e6e8-f7ff-4004-8341-977dfbef09db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7800e6e8-f7ff-4004-8341-977dfbef09db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"2f1e45c0-88de-4479-bcd3-c0db4dd3fed6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.0677993} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab5e0ec4-fe51-4d7e-b234-fca4c4a51eda","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.068123} 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":"4e0f6b0dda847b5516166563e60209c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling 200 17ms","method":"POST","requestID":"0b2c5d20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0979a027-0b3e-4a41-a97b-e6c618ba2b39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71839d06-ed2e-4973-a984-e59b7eea1fd9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.084379} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.695935,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39","object_type":"device","rebac_allow":false,"scope_allow":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":"0b2f6a60-18ec-11ef-b4a6-53fbcbef7f4b"},"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/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling 200 12ms","method":"POST","requestID":"0b2f6a60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"} gateway-1 | {"time_local":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7800e6e8-f7ff-4004-8341-977dfbef09db HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e0f6b0dda847b5516166563e60209c9"} gateway-1 | {"time_local":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.496","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"db3e50dd804fed3e4d2347a1ac516425"} experiment-1 | {"level":"info","message":"DELETE /experiments/7800e6e8-f7ff-4004-8341-977dfbef09db 204 189ms","method":"DELETE","requestID":"4e0f6b0dda847b5516166563e60209c9","responseTime":189,"status":204,"url":"/experiments/7800e6e8-f7ff-4004-8341-977dfbef09db"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"513ee39b44d165bb8e13dd6cd0052d7e","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"513ee39b44d165bb8e13dd6cd0052d7e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"2db3a9bc927abf751e9aad4913eb4192","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"2db3a9bc927abf751e9aad4913eb4192"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"92759b62eba89f61e6d23b6dd3805d32","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"3.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":"ab6981c7b0ec88075a1ce55c8b4f1e46"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0979a027-0b3e-4a41-a97b-e6c618ba2b39' closed"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.243095,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458755,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw"} 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":"92759b62eba89f61e6d23b6dd3805d32"},"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/1ed54d70-83e3-4de8-bac9-ab4aba8f6c16' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2a9953f2-59d6-41b8-9697-fe98a50cd637","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.1757855} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92759b62eba89f61e6d23b6dd3805d32"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d7d0219-4c4a-48f8-b6fc-9981b7b170b2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.1812088} 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":"92759b62eba89f61e6d23b6dd3805d32"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"4b82a85d-b188-4ca0-aca2-1c9330fbc39e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.191203} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb76cde4-b4cf-4c55-9e8e-bc3a1cff24f4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.1915221} 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":"92759b62eba89f61e6d23b6dd3805d32"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.191185345Z"}]},"request_id":"124a2936-2ab0-4840-a715-9d6a41273240","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.1961591} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92759b62eba89f61e6d23b6dd3805d32"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92759b62eba89f61e6d23b6dd3805d32"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"92759b62eba89f61e6d23b6dd3805d32","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"193e4aece8b723f16f0d9c49f73f93bc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.762487,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458755,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw"} 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":"193e4aece8b723f16f0d9c49f73f93bc"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3478fb99-244f-486f-ad5a-7a27bc1e5208","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.2192416} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"193e4aece8b723f16f0d9c49f73f93bc"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ba12874-906c-470f-b451-b03a418d4f50","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.2242785} 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":"193e4aece8b723f16f0d9c49f73f93bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"19c5c5fa-6575-46dd-a960-6c0d562e5898","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.2358122} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75ddb03c-f29a-4b65-b2b9-a34a1581a5a8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.2366004} 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":"193e4aece8b723f16f0d9c49f73f93bc"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.235784178Z"}]},"request_id":"1024ddf4-0abc-4ce4-8f3e-cedb6955c6e9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.2408893} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"193e4aece8b723f16f0d9c49f73f93bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"193e4aece8b723f16f0d9c49f73f93bc"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"193e4aece8b723f16f0d9c49f73f93bc","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"73c2aedb704e263181b3fcc77fb12da0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959676,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458755,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw"} 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":"73c2aedb704e263181b3fcc77fb12da0"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.191185345Z"}]},"request_id":"dc99525e-f07d-46d9-90ce-f3c2b50d46cd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.729937} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73c2aedb704e263181b3fcc77fb12da0"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30b73638-111c-497a-b0b0-6ee35ca2e3e3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.7372026} 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":"73c2aedb704e263181b3fcc77fb12da0"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.191185345Z"}]},"request_id":"f327b909-5747-44cd-a012-d9738a5b3fb0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458755.7637217} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73c2aedb704e263181b3fcc77fb12da0"},"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":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"73c2aedb704e263181b3fcc77fb12da0"} device-1 | {"level":"info","message":"PATCH /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024 200 50ms","method":"PATCH","requestID":"73c2aedb704e263181b3fcc77fb12da0","responseTime":50,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c7880724151348ca6ee000e5296c3f54","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.231497,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458755,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1NX0.Qck9s8mzTrEQZhBwRzJDxDuGZhGwSADAwewXysadJaw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7880724151348ca6ee000e5296c3f54"},"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":"23/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c7880724151348ca6ee000e5296c3f54"} device-1 | {"level":"info","message":"POST /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/websocket 200 23ms","method":"POST","requestID":"c7880724151348ca6ee000e5296c3f54","responseTime":23,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024' 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":"1d557d3011c68d25ee8e5cefd99b354b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/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":"1d557d3011c68d25ee8e5cefd99b354b"} device-1 | {"level":"info","message":"OPTIONS /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/websocket 200 1ms","method":"OPTIONS","requestID":"1d557d3011c68d25ee8e5cefd99b354b","responseTime":1,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b6e6d2acb388c36b764dab66c4e7959","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.816439,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"2b6e6d2acb388c36b764dab66c4e7959"},"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/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/websocket 200 44ms","method":"POST","requestID":"2b6e6d2acb388c36b764dab66c4e7959","responseTime":44,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/websocket"} gateway-1 | {"time_local":"23/May/2024:10:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/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":"2b6e6d2acb388c36b764dab66c4e7959"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"14a3826632a0165ec9edcaecdc2726fa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.359092,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14a3826632a0165ec9edcaecdc2726fa"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.191185345Z"}]},"request_id":"5264c5ac-e996-4315-a430-7482a7ef05c5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.3411524} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14a3826632a0165ec9edcaecdc2726fa"},"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":"23/May/2024:10:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14a3826632a0165ec9edcaecdc2726fa"} device-1 | {"level":"info","message":"GET /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024? 200 21ms","method":"GET","requestID":"14a3826632a0165ec9edcaecdc2726fa","responseTime":21,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6bca31f6cc1fa2024e5e35cafe41fe9d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27027,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bca31f6cc1fa2024e5e35cafe41fe9d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.235784178Z"}]},"request_id":"26f646ea-b0b9-44a0-8648-06244d735737","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.369063} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bca31f6cc1fa2024e5e35cafe41fe9d"},"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":"23/May/2024:10:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bca31f6cc1fa2024e5e35cafe41fe9d"} device-1 | {"level":"info","message":"GET /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99? 200 20ms","method":"GET","requestID":"6bca31f6cc1fa2024e5e35cafe41fe9d","responseTime":20,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bdbf0e000cb6d2891dba37079f9ac0d9","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:50018","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.520494,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"bdbf0e000cb6d2891dba37079f9ac0d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"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:50018","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601474,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"0c97acf0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.779122,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"0c97fb10-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.191185345Z"}]},"request_id":"fb95a3a1-59d6-4d7a-a9af-d95a61e8e427","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.4489172} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c97acf0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.235784178Z"}]},"request_id":"cc0828d4-2b06-4974-bc04-389e097b7a0c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.4527972} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c97fb10-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024? 200 16ms","method":"GET","requestID":"0c97acf0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99? 200 18ms","method":"GET","requestID":"0c97fb10-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"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/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397049,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"0ca40900-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.762838,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"0ca47e30-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.181126,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a90c2eb0-aee7-4776-8ca9-63afec416e9d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.5388825} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","rebac_allow":false,"scope_allow":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":"0ca4f360-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling 200 24ms","method":"POST","requestID":"0ca4f360-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.235784178Z"}]},"request_id":"0127004f-a147-4569-92fd-209cda716fca","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.549711} 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":"0ca47e30-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.191185345Z"}]},"request_id":"b9b9010f-6308-4120-97d6-6f499fb4465b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.5527165} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ca40900-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F833e4c32-34c7-48a6-b499-63cdef2e142d#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F833e4c32-34c7-48a6-b499-63cdef2e142d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"238d5078-c505-4b78-9160-58892e4eaeff","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.5606823} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb96be33-c114-4f94-8414-5acb94cbee43","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.561291} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"bdbf0e000cb6d2891dba37079f9ac0d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f866c5e4-cd87-4f1a-9a05-6af919c77a0f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.5658839} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.53743,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} device-1 | {"level":"info","message":"GET /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99? 200 44ms","method":"GET","requestID":"0ca47e30-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":44,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","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/31b7b7c5-b48d-4a0a-a929-5e14c64da024? 200 49ms","method":"GET","requestID":"0ca40900-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":49,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024?"} 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":"0ca93920-18ec-11ef-b4a6-53fbcbef7f4b"},"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/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling 200 19ms","method":"POST","requestID":"0ca93920-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5606d1a7-2da1-4805-ae2d-ce8194e30342","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.583403} gateway-1 | {"time_local":"23/May/2024:10:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdbf0e000cb6d2891dba37079f9ac0d9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 198ms","method":"POST","requestID":"bdbf0e000cb6d2891dba37079f9ac0d9","responseTime":198,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.057087,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cace2a0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"59e60d20f722759d28baaf6acdc75524","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling 200 13ms","method":"POST","requestID":"0cace2a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211482,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"59e60d20f722759d28baaf6acdc75524"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.191185345Z"}]},"request_id":"fd947d62-1070-47ab-b15d-2ef96e51f9d0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.605623} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59e60d20f722759d28baaf6acdc75524"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3aa6a4b0-3b16-498a-a13e-e1075c9b80fb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.6060731} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.886118,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","rebac_allow":false,"scope_allow":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":"0caf53a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59e60d20f722759d28baaf6acdc75524"} device-1 | {"level":"info","message":"GET /devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024? 200 22ms","method":"GET","requestID":"59e60d20f722759d28baaf6acdc75524","responseTime":22,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling 200 21ms","method":"POST","requestID":"0caf53a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"b95535c1-863d-4e20-beba-372629a45427"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"05dd33fc-e420-4bac-9fbf-3ae0716b13d8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"296d70a4-5f5a-4ac2-a391-e47d9e68c876"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a75f100a567a4c6b231b51a5e2c619d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.757892,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} 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":"0cb34b40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652819,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458757,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc1N30.e8QNw5Z23lbnI7fsOzz7EQ3JGd0syopb-yJsS3wUUKI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a75f100a567a4c6b231b51a5e2c619d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:05:55.235784178Z"}]},"request_id":"1bd6c677-03b2-48ed-8a3c-2bea52b0cc29","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.6313891} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a75f100a567a4c6b231b51a5e2c619d"},"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":"23/May/2024:10:05:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a75f100a567a4c6b231b51a5e2c619d"} device-1 | {"level":"info","message":"GET /devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99? 200 15ms","method":"GET","requestID":"9a75f100a567a4c6b231b51a5e2c619d","responseTime":15,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"d7c905b5-1e2f-4369-83cf-c09d34d16320","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.6363904} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97f5bb83-42ad-406d-a96b-f4ee50c8dc9a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.6367393} 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":"0cb34b40-18ec-11ef-b4a6-53fbcbef7f4b"},"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/6a9933e6-0fea-4eaf-9361-801deefdc5b6'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6'"} 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":"0cb34b40-18ec-11ef-b4a6-53fbcbef7f4b","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/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"675b7604-7d27-4096-9517-e0da36b68706","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.6948583} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.81725,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cbdd290-18ec-11ef-b4a6-53fbcbef7f4b"},"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/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling 200 11ms","method":"POST","requestID":"0cbdd290-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8d60edc-62f9-403b-9c56-28b3bbe3ea3b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458757.7075455} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554666,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cbfce60-18ec-11ef-b4a6-53fbcbef7f4b"},"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/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling 200 10ms","method":"POST","requestID":"0cbfce60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling"} device-1 | {"data":{"peerconnection":"6a9933e6-0fea-4eaf-9361-801deefdc5b6","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/6a9933e6-0fea-4eaf-9361-801deefdc5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a9933e6-0fea-4eaf-9361-801deefdc5b6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f95816b994c2ed4590f4df219538951a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"f95816b994c2ed4590f4df219538951a","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"f95816b994c2ed4590f4df219538951a"} device-1 | {"data":{"peerconnection":"6a9933e6-0fea-4eaf-9361-801deefdc5b6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6a9933e6-0fea-4eaf-9361-801deefdc5b6","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a9933e6-0fea-4eaf-9361-801deefdc5b6","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":"0c9bc287bb41e2558c203631e67c0204","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:59Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a9933e6-0fea-4eaf-9361-801deefdc5b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4a24b1b-0fb6-4b3e-bd0f-f514e188a666","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458759.8698366} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.761955,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6","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":"0e09b380-18ec-11ef-b4a6-53fbcbef7f4b"},"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/6a9933e6-0fea-4eaf-9361-801deefdc5b6 200 11ms","method":"GET","requestID":"0e09b380-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"0c9bc287bb41e2558c203631e67c0204","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:05: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.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"0c9bc287bb41e2558c203631e67c0204"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:59Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba4073f5-80ee-4470-b543-0d7c346c03b4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458759.9017124} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.447743,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e0ebc90-18ec-11ef-b4a6-53fbcbef7f4b"},"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/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling 200 10ms","method":"POST","requestID":"0e0ebc90-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:05:59Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c6fe11c-0953-4525-bd68-283add9e3384","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458759.9140618} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.591416,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:05:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"0e109150-18ec-11ef-b4a6-53fbcbef7f4b"},"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/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling 200 10ms","method":"POST","requestID":"0e109150-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"263f5c353ad46e9ebe9c7565137e961f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.233146,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"263f5c353ad46e9ebe9c7565137e961f"},"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/833e4c32-34c7-48a6-b499-63cdef2e142d"} experiment-1 | {"level":"info","message":"GET /experiments/833e4c32-34c7-48a6-b499-63cdef2e142d 200 18ms","method":"GET","requestID":"263f5c353ad46e9ebe9c7565137e961f","responseTime":18,"status":200,"url":"/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"} gateway-1 | {"time_local":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/833e4c32-34c7-48a6-b499-63cdef2e142d HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"263f5c353ad46e9ebe9c7565137e961f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0bfa6467635cb50e3314b32c02c0aeaf","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.184975,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"0bfa6467635cb50e3314b32c02c0aeaf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.175634,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"0e2ddd50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/6a9933e6-0fea-4eaf-9361-801deefdc5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a9933e6-0fea-4eaf-9361-801deefdc5b6","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a9933e6-0fea-4eaf-9361-801deefdc5b6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a9933e6-0fea-4eaf-9361-801deefdc5b6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"4c3ee821-f18f-4397-a1d2-19d345f9f970","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.1241648} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7db647fd-3a05-48e9-b758-ea9b60daf586","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.1244042} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4d50840fe3086cbee5661f194d4689af","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e2ddd50-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b9630b0ab60d35092b9619618421d3b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"6a9933e6-0fea-4eaf-9361-801deefdc5b6","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/6a9933e6-0fea-4eaf-9361-801deefdc5b6 204 49ms","method":"DELETE","requestID":"0e2ddd50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":49,"status":204,"url":"/peerconnections/6a9933e6-0fea-4eaf-9361-801deefdc5b6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eae7d892-8bb2-44ab-89f4-bfa2336ab471","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.1832201} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.432592,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99","object_type":"device","rebac_allow":false,"scope_allow":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":"0e3927f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling 200 17ms","method":"POST","requestID":"0e3927f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F833e4c32-34c7-48a6-b499-63cdef2e142d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F833e4c32-34c7-48a6-b499-63cdef2e142d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"b61a0e44-5f37-423e-a793-d2defafc801a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.1936278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9a10c69-58be-490f-a12e-d817e3e4fc61","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.1941106} 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":"0bfa6467635cb50e3314b32c02c0aeaf"},"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:50018","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31b7b7c5-b48d-4a0a-a929-5e14c64da024","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52e4e8be-1786-4b94-bb1f-44dc71704efa","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.2023902} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.61991,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024","object_type":"device","rebac_allow":false,"scope_allow":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":"0e3c3530-18ec-11ef-b4a6-53fbcbef7f4b"},"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/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling 200 15ms","method":"POST","requestID":"0e3c3530-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/31b7b7c5-b48d-4a0a-a929-5e14c64da024/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"} gateway-1 | {"time_local":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/833e4c32-34c7-48a6-b499-63cdef2e142d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0bfa6467635cb50e3314b32c02c0aeaf"} gateway-1 | {"time_local":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.461","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8a98438f8f1fc148b3b5c8a5922eadb9"} experiment-1 | {"level":"info","message":"DELETE /experiments/833e4c32-34c7-48a6-b499-63cdef2e142d 204 176ms","method":"DELETE","requestID":"0bfa6467635cb50e3314b32c02c0aeaf","responseTime":176,"status":204,"url":"/experiments/833e4c32-34c7-48a6-b499-63cdef2e142d"} gateway-1 | {"time_local":"23/May/2024:10:06: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d50840fe3086cbee5661f194d4689af"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"4d50840fe3086cbee5661f194d4689af","responseTime":138,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"5b9630b0ab60d35092b9619618421d3b","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b9630b0ab60d35092b9619618421d3b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"069dd5d0961243b4e788ec3776b348ff","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/31b7b7c5-b48d-4a0a-a929-5e14c64da024' closed"} gateway-1 | {"time_local":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.968","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d3c4e09c3436b65c27fd7ece30d91a45"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.966873,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"069dd5d0961243b4e788ec3776b348ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0dfa7e97-beb4-4258-9f2d-6b453c6e1c99' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"99c60777-0f81-4079-b212-7e0a17f46941","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.2912855} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"069dd5d0961243b4e788ec3776b348ff"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"705b9df4-2c4a-4cc3-a32f-63bf9e018c5f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.296815} 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":"069dd5d0961243b4e788ec3776b348ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f1a7e899-e3ff-4ef7-a933-3781b1387b1e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.3100395} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cca3f5fe-abab-42b4-913a-190a6839ed43","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.3103535} 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":"069dd5d0961243b4e788ec3776b348ff"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.310013140Z"}]},"request_id":"b78b6c7b-bbc6-4ef6-acb2-d2c064f18dc2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.3151321} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"069dd5d0961243b4e788ec3776b348ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"069dd5d0961243b4e788ec3776b348ff"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"069dd5d0961243b4e788ec3776b348ff","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e422c3ef773296a5e552fb4e5f45c51","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.70421,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"8e422c3ef773296a5e552fb4e5f45c51"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0df4d5a4-a88a-466e-8a73-a28f46798181","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.339638} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e422c3ef773296a5e552fb4e5f45c51"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b803e62-89cf-45bc-ae81-e046cad55ce2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.3444679} 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":"8e422c3ef773296a5e552fb4e5f45c51"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2ceb20f8-c554-4db6-ade8-20eae3cc0d9b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.353637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"925c1db3-64a4-421c-a2f2-cc4ab84a33d7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.3538368} 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":"8e422c3ef773296a5e552fb4e5f45c51"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.353618734Z"}]},"request_id":"ca372e55-eb45-421b-b45d-a072abb97f75","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.3589916} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e422c3ef773296a5e552fb4e5f45c51"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e422c3ef773296a5e552fb4e5f45c51"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"8e422c3ef773296a5e552fb4e5f45c51","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c546640cb54df058163b6421e25b5c6","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"caba417af73167a9637fbe376f82a190","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764057,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"9c546640cb54df058163b6421e25b5c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75487,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"caba417af73167a9637fbe376f82a190"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.353618734Z"}]},"request_id":"d58fa0da-d390-49ce-9cc6-fb67558779ac","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.8391364} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c546640cb54df058163b6421e25b5c6"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13040501-006b-4ed6-bd1b-7e79a71e7210","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.8451724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.310013140Z"}]},"request_id":"2b72c41f-7508-4edd-8606-a33090ca6f48","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.845801} 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":"9c546640cb54df058163b6421e25b5c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"caba417af73167a9637fbe376f82a190"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4610f513-afa4-4c75-9c3a-686babb24d82","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.8514802} 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":"caba417af73167a9637fbe376f82a190"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.353618734Z"}]},"request_id":"6bf4fa94-8efd-4901-a0a6-00afa50db3ee","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.8692474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c546640cb54df058163b6421e25b5c6"},"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":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9c546640cb54df058163b6421e25b5c6"} device-1 | {"level":"info","message":"PATCH /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e 200 44ms","method":"PATCH","requestID":"9c546640cb54df058163b6421e25b5c6","responseTime":44,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7b6b166e8c68c1091e67237189970046","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862721,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b6b166e8c68c1091e67237189970046"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.310013140Z"}]},"request_id":"61e8b93a-d744-486e-b4d3-80534b4b733e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.8834877} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"caba417af73167a9637fbe376f82a190"},"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":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/80caee97-7da0-4615-9070-516b0021a85b HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.065","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"caba417af73167a9637fbe376f82a190"} device-1 | {"level":"info","message":"PATCH /devices/80caee97-7da0-4615-9070-516b0021a85b 200 58ms","method":"PATCH","requestID":"caba417af73167a9637fbe376f82a190","responseTime":58,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a0a7d78c3cf6dabf70a79566e55160a2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.104582,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7b6b166e8c68c1091e67237189970046"} device-1 | {"level":"info","message":"POST /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/websocket 200 23ms","method":"POST","requestID":"7b6b166e8c68c1091e67237189970046","responseTime":23,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"a0a7d78c3cf6dabf70a79566e55160a2"},"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":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/80caee97-7da0-4615-9070-516b0021a85b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a0a7d78c3cf6dabf70a79566e55160a2"} device-1 | {"level":"info","message":"POST /devices/80caee97-7da0-4615-9070-516b0021a85b/websocket 200 24ms","method":"POST","requestID":"a0a7d78c3cf6dabf70a79566e55160a2","responseTime":24,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d0767ca801f0e187722a2e44da48c3de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.560527,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0767ca801f0e187722a2e44da48c3de"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.310013140Z"}]},"request_id":"23110f78-3600-4a82-a10f-a7ddb0908c3a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.957246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0767ca801f0e187722a2e44da48c3de"},"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":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/80caee97-7da0-4615-9070-516b0021a85b? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0767ca801f0e187722a2e44da48c3de"} device-1 | {"level":"info","message":"GET /devices/80caee97-7da0-4615-9070-516b0021a85b? 200 18ms","method":"GET","requestID":"d0767ca801f0e187722a2e44da48c3de","responseTime":18,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5045a6e6733a387a1c8caff332e9a82c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246607,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5045a6e6733a387a1c8caff332e9a82c"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.353618734Z"}]},"request_id":"c8a2472b-17d6-4248-96e4-73a46ae41874","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458760.9811797} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5045a6e6733a387a1c8caff332e9a82c"},"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":"23/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5045a6e6733a387a1c8caff332e9a82c"} device-1 | {"level":"info","message":"GET /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e? 200 16ms","method":"GET","requestID":"5045a6e6733a387a1c8caff332e9a82c","responseTime":16,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1acf89b1cad0eecc141453873aa8a222","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:50018","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.195676,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"1acf89b1cad0eecc141453873aa8a222"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"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:50018","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855546,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"0ebe3670-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800631,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"0ebeaba0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.310013140Z"}]},"request_id":"ff685bab-d4e8-4f28-9018-3349ae3f6ebd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.057399} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ebe3670-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.353618734Z"}]},"request_id":"faa4bc67-b3e5-4fc3-a05a-2c6113e00389","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.0584278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ebeaba0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/80caee97-7da0-4615-9070-516b0021a85b? 200 17ms","method":"GET","requestID":"0ebe3670-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e? 200 15ms","method":"GET","requestID":"0ebeaba0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"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:50018","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.851874,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"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":"0ecb07b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.329119,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"0ecb7ce0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.89301,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69942b7a-9de0-4e8a-a642-c4013e12d3ae","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.1473567} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","rebac_allow":false,"scope_allow":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":"0ecbcb00-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.310013140Z"}]},"request_id":"0c5dfb79-879a-4de1-bf76-3e0a5e00957b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.150987} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.353618734Z"}]},"request_id":"f27c96b0-d55e-4b1d-8370-446a719f8805","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.1534433} 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":"0ecb07b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ecb7ce0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/80caee97-7da0-4615-9070-516b0021a85b/signaling 200 26ms","method":"POST","requestID":"0ecbcb00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/80caee97-7da0-4615-9070-516b0021a85b? 200 33ms","method":"GET","requestID":"0ecb07b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":33,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2daa5782-a4d3-46bf-9058-3f988aba565b#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2daa5782-a4d3-46bf-9058-3f988aba565b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"268ad5a0-b945-45fa-8550-4da468abbfc5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.1653407} device-1 | {"level":"info","message":"GET /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e? 200 32ms","method":"GET","requestID":"0ecb7ce0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":32,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1cbeb38-3b21-47b7-af54-775de7ddf45c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.1659734} 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":"1acf89b1cad0eecc141453873aa8a222"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02c1ab95-1194-4e91-a4d7-db361a24d391","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.172795} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.125708,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"0ed085f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6cb47be1-fdf8-48ec-9e0f-65a5768800cf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.1761951} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.279209,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","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"} gateway-1 | {"time_local":"23/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1acf89b1cad0eecc141453873aa8a222"} experiment-1 | {"level":"info","message":"POST /experiments? 201 185ms","method":"POST","requestID":"1acf89b1cad0eecc141453873aa8a222","responseTime":185,"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":"0ed0d410-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"POST /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling 200 13ms","method":"POST","requestID":"0ed085f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/80caee97-7da0-4615-9070-516b0021a85b/signaling 200 15ms","method":"POST","requestID":"0ed0d410-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MX0.ybVuAcV6gYYegmM4B3av4nNqHpfcMpFCuH4o-fobalg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2825066301fb3efb48f13b03527d4bc0","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:50018","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9c2bc1a-e917-44a7-adcd-ec5cded2caaf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.192357} authorization-1 | {"client_addr":"127.0.0.1:36818","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772398,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458761,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MX0.ybVuAcV6gYYegmM4B3av4nNqHpfcMpFCuH4o-fobalg"} 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":"2825066301fb3efb48f13b03527d4bc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.795819,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","rebac_allow":false,"scope_allow":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":"0ed36c20-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.310013140Z"}]},"request_id":"d75205e3-54be-4785-9495-891d55afea35","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.1973784} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2825066301fb3efb48f13b03527d4bc0"},"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/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling 200 15ms","method":"POST","requestID":"0ed36c20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"236297a3-d0fa-4b12-896a-77be748a9dfc"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"06fac0d0-35d8-4048-b4ae-80eae24de795"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"d968b6fe-c90a-40ba-bb7f-5de745b7a0e4"}]},"level":"info","message":"Built pairwise service configurations"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"23/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/80caee97-7da0-4615-9070-516b0021a85b? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2825066301fb3efb48f13b03527d4bc0"} device-1 | {"level":"info","message":"GET /devices/80caee97-7da0-4615-9070-516b0021a85b? 200 14ms","method":"GET","requestID":"2825066301fb3efb48f13b03527d4bc0","responseTime":14,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MX0.ybVuAcV6gYYegmM4B3av4nNqHpfcMpFCuH4o-fobalg","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"de10299891e6a3f14101228a91d1105a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.130818,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458760,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MH0.IZj27eveo8apQihbVhbB98PH0x6GZz-HgI9KO1P9P6o"} 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":"0ed62b40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974447,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458761,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2MX0.ybVuAcV6gYYegmM4B3av4nNqHpfcMpFCuH4o-fobalg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de10299891e6a3f14101228a91d1105a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:00.353618734Z"}]},"request_id":"3b6c7940-ef52-44ac-afaf-a35b80522b98","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.2184258} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de10299891e6a3f14101228a91d1105a"},"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":"23/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de10299891e6a3f14101228a91d1105a"} device-1 | {"level":"info","message":"GET /devices/02463311-cfd6-4ba7-8d03-5a922b37df0e? 200 15ms","method":"GET","requestID":"de10299891e6a3f14101228a91d1105a","responseTime":15,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"ad8c84e9-e139-48cf-ab52-beebea57ca09","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.2231655} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d152af53-efbb-45ca-b527-bf2430b0970f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.2234712} 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":"0ed62b40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0'"} 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":"0ed62b40-18ec-11ef-b4a6-53fbcbef7f4b","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/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28244dd7-a888-4ccd-a5b1-2380f3031fce","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.2951458} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.647219,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"0ee34aa0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/80caee97-7da0-4615-9070-516b0021a85b/signaling 200 10ms","method":"POST","requestID":"0ee34aa0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.317033,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61392f2a-1fc4-4b4c-901d-3dfcf044eacf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458761.307757} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"0ee51f60-18ec-11ef-b4a6-53fbcbef7f4b"},"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/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling 200 12ms","method":"POST","requestID":"0ee51f60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","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/764adc3f-023f-4443-baeb-259ecaaf4ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","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":"d9952c374dd3aa55aa4e4c44e8ef92d5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"d9952c374dd3aa55aa4e4c44e8ef92d5","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"d9952c374dd3aa55aa4e4c44e8ef92d5"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","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/764adc3f-023f-4443-baeb-259ecaaf4ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","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":"d7388980b357556216e5807f6a97bdda","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F764adc3f-023f-4443-baeb-259ecaaf4ff0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea0fb86d-24d2-4440-904c-af27ba96acd2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.3806632} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.750739,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0","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":"10216ff0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/764adc3f-023f-4443-baeb-259ecaaf4ff0 200 10ms","method":"GET","requestID":"10216ff0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"d7388980b357556216e5807f6a97bdda","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7388980b357556216e5807f6a97bdda"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5e680a0-1cd3-4d1c-abb9-403d58d921dd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.40693} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.308319,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","rebac_allow":false,"scope_allow":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":"10258ea0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling 200 9ms","method":"POST","requestID":"10258ea0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa8f4de3-7c32-4758-b4b9-1cf3c76047e4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.4174564} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.376828,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10273c50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/80caee97-7da0-4615-9070-516b0021a85b/signaling 200 9ms","method":"POST","requestID":"10273c50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"410ea1251d5640d573b1cba72a572fc8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.278525,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458763,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c"} 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":"410ea1251d5640d573b1cba72a572fc8"},"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/2daa5782-a4d3-46bf-9058-3f988aba565b"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2daa5782-a4d3-46bf-9058-3f988aba565b HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"410ea1251d5640d573b1cba72a572fc8"} experiment-1 | {"level":"info","message":"GET /experiments/2daa5782-a4d3-46bf-9058-3f988aba565b 200 16ms","method":"GET","requestID":"410ea1251d5640d573b1cba72a572fc8","responseTime":16,"status":200,"url":"/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5e9e690657c241176e673be5ef2b57cc","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.591047,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458763,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c"} 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":"5e9e690657c241176e673be5ef2b57cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.251885,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458763,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c"} 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":"1044af60-18ec-11ef-b4a6-53fbcbef7f4b"},"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/764adc3f-023f-4443-baeb-259ecaaf4ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F764adc3f-023f-4443-baeb-259ecaaf4ff0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F764adc3f-023f-4443-baeb-259ecaaf4ff0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"a27d7e12-b814-4a3c-8985-a68c3ae89bc9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.6288216} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0"}}},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04e367e0-51c3-44fa-bb10-0563853fe1a0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.6291761} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"65470ec69e7e9e70666c9870f40f75f1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1044af60-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"753f02fda2fa3dee0aaf6af9b4ddff45","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"peerconnection":"764adc3f-023f-4443-baeb-259ecaaf4ff0","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/764adc3f-023f-4443-baeb-259ecaaf4ff0 204 54ms","method":"DELETE","requestID":"1044af60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":54,"status":204,"url":"/peerconnections/764adc3f-023f-4443-baeb-259ecaaf4ff0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F02463311-cfd6-4ba7-8d03-5a922b37df0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6789f755-6a6e-410e-be79-e8a4a6f99204","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.6911182} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.807842,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e","object_type":"device","rebac_allow":false,"scope_allow":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":"10509640-18ec-11ef-b4a6-53fbcbef7f4b"},"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/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling 200 14ms","method":"POST","requestID":"10509640-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/02463311-cfd6-4ba7-8d03-5a922b37df0e/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2daa5782-a4d3-46bf-9058-3f988aba565b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2daa5782-a4d3-46bf-9058-3f988aba565b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"b6040a77-d6d3-4076-bb83-3f21a357c033","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.6986344} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68e7cf01-aedc-4768-92d5-6506a8883513","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.6989655} 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":"5e9e690657c241176e673be5ef2b57cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F80caee97-7da0-4615-9070-516b0021a85b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1d0b275-a51e-4931-8eb5-87312a1a5040","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.7083266} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.470428,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/80caee97-7da0-4615-9070-516b0021a85b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"10532e50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/80caee97-7da0-4615-9070-516b0021a85b/signaling 200 13ms","method":"POST","requestID":"10532e50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/80caee97-7da0-4615-9070-516b0021a85b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2daa5782-a4d3-46bf-9058-3f988aba565b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e9e690657c241176e673be5ef2b57cc"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.846","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"665925803429f26f5838f216afbf61fa"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.862","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2d8483b228301a4d32fced366603d46c"} experiment-1 | {"level":"info","message":"DELETE /experiments/2daa5782-a4d3-46bf-9058-3f988aba565b 204 179ms","method":"DELETE","requestID":"5e9e690657c241176e673be5ef2b57cc","responseTime":179,"status":204,"url":"/experiments/2daa5782-a4d3-46bf-9058-3f988aba565b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"65470ec69e7e9e70666c9870f40f75f1","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"65470ec69e7e9e70666c9870f40f75f1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"753f02fda2fa3dee0aaf6af9b4ddff45","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"753f02fda2fa3dee0aaf6af9b4ddff45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ec94068db1cdc246650c4533dc7d0c86","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/02463311-cfd6-4ba7-8d03-5a922b37df0e' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.953473,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458763,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c"} 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":"ec94068db1cdc246650c4533dc7d0c86"},"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/80caee97-7da0-4615-9070-516b0021a85b' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1708322f-cef1-4983-b135-18359fe0d123","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.7945974} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec94068db1cdc246650c4533dc7d0c86"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a36fb8d3-627a-4582-a740-1418f3842458","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.8013783} 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":"ec94068db1cdc246650c4533dc7d0c86"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e97e9de0-ab9b-4fe2-b9ef-720b7a1993e4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.8119931} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10de4169-badd-4f21-930d-5c31a0e746f5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.8123133} 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":"ec94068db1cdc246650c4533dc7d0c86"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.811971545Z"}]},"request_id":"44c65f05-5079-4e9c-bd53-91eec429d6e8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.8177743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec94068db1cdc246650c4533dc7d0c86"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec94068db1cdc246650c4533dc7d0c86"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"ec94068db1cdc246650c4533dc7d0c86","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"08a07fe3324f43ea0db3e065449d64b1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.973356,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458763,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2M30.Qj1EATJOkA1NnIjJ6CMcP6hgvy6gZNdEkEEEAzdkr5c"} 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":"08a07fe3324f43ea0db3e065449d64b1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dafb6eea-d32f-40a4-8bbf-d4e84d255ba3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.848264} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a07fe3324f43ea0db3e065449d64b1"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db4af1d7-6b6e-4eda-abef-fa9e15c70196","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.85452} 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":"08a07fe3324f43ea0db3e065449d64b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"553702c6-c5c5-40a7-bf87-6fc59d687ea2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.8675644} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c120d344-a13d-40cc-bf37-45d58da5e224","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.8684888} 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":"08a07fe3324f43ea0db3e065449d64b1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.867161195Z"}]},"request_id":"2cce5542-97e8-46ca-b674-7afec7641167","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458763.8731735} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08a07fe3324f43ea0db3e065449d64b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08a07fe3324f43ea0db3e065449d64b1"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"08a07fe3324f43ea0db3e065449d64b1","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"195e1556005646cfb5edc07bee5bad3a","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/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":"195e1556005646cfb5edc07bee5bad3a"} device-1 | {"level":"info","message":"OPTIONS /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/websocket 200 1ms","method":"OPTIONS","requestID":"195e1556005646cfb5edc07bee5bad3a","responseTime":1,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2NX0.nph7MCJzkZuVkIYf1B-qGr7H4Nr0pGnNZluCAqUiBs0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd473fd470343bacbf61e77929d0d1b5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70274,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458765,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2NX0.nph7MCJzkZuVkIYf1B-qGr7H4Nr0pGnNZluCAqUiBs0"} 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":"fd473fd470343bacbf61e77929d0d1b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a367597bef45536bb240bc66fd57ae87","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/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":"a367597bef45536bb240bc66fd57ae87"} device-1 | {"level":"info","message":"OPTIONS /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/websocket 200 0ms","method":"OPTIONS","requestID":"a367597bef45536bb240bc66fd57ae87","responseTime":0,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2NX0.nph7MCJzkZuVkIYf1B-qGr7H4Nr0pGnNZluCAqUiBs0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a6740fea0dece58b03144b13799042be","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946956,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458765,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2NX0.nph7MCJzkZuVkIYf1B-qGr7H4Nr0pGnNZluCAqUiBs0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6740fea0dece58b03144b13799042be"},"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":"23/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.751","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fd473fd470343bacbf61e77929d0d1b5"} device-1 | {"level":"info","message":"POST /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/websocket 200 744ms","method":"POST","requestID":"fd473fd470343bacbf61e77929d0d1b5","responseTime":744,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.747","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a6740fea0dece58b03144b13799042be"} device-1 | {"level":"info","message":"POST /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/websocket 200 740ms","method":"POST","requestID":"a6740fea0dece58b03144b13799042be","responseTime":740,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"46cd721b6ab5ac75c2ac7d676eebf181","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309925,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46cd721b6ab5ac75c2ac7d676eebf181"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.811971545Z"}]},"request_id":"b2c225bf-f549-4a6a-bc0b-aa3a264da89b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.6099849} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46cd721b6ab5ac75c2ac7d676eebf181"},"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":"23/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46cd721b6ab5ac75c2ac7d676eebf181"} device-1 | {"level":"info","message":"GET /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d? 200 19ms","method":"GET","requestID":"46cd721b6ab5ac75c2ac7d676eebf181","responseTime":19,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"cf8af92a07f363a80c7e5d1250deb7fa","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164345,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf8af92a07f363a80c7e5d1250deb7fa"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.867161195Z"}]},"request_id":"ffbffdcc-f01d-491c-b2b3-52409f7e75a5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.6371515} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf8af92a07f363a80c7e5d1250deb7fa"},"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":"23/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf8af92a07f363a80c7e5d1250deb7fa"} device-1 | {"level":"info","message":"GET /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795? 200 19ms","method":"GET","requestID":"cf8af92a07f363a80c7e5d1250deb7fa","responseTime":19,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"244f8db53c77be5ce6e201fc92380f95","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:50018","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.224769,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} 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":"244f8db53c77be5ce6e201fc92380f95"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"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:50018","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907941,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121e7870-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.521161,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} 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":"121ec690-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.811971545Z"}]},"request_id":"abedc37d-9125-4e9a-b7b8-711b6bdd9246","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.7230706} 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":"121e7870-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.867161195Z"}]},"request_id":"faf315ec-4892-444e-90b3-a3049ee61aae","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.7285426} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121ec690-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d? 200 19ms","method":"GET","requestID":"121e7870-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795? 200 22ms","method":"GET","requestID":"121ec690-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"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/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.391592,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} 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":"122bbee0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133512,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} 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":"122c3410-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43f108ef-4795-4b14-bee3-4a8dedf23acb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8143196} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.806685,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","rebac_allow":false,"scope_allow":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":"122ca940-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.867161195Z"}]},"request_id":"13f64a87-6e4a-40b9-b992-df3d8bfa1562","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8209684} device-1 | {"level":"info","message":"POST /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling 200 18ms","method":"POST","requestID":"122ca940-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/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":"122c3410-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.811971545Z"}]},"request_id":"9da89e93-61fd-4ae1-a1ac-1d3a2eb968ef","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8229604} 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":"122bbee0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03d30a51-ecb4-4c06-9cc1-46ee998a4f93#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03d30a51-ecb4-4c06-9cc1-46ee998a4f93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"29741196-c7f4-439a-a02a-bd5336d86c7d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8288467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee5c93f7-b388-493a-82c3-c9a7b922a1ca","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8293316} 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":"244f8db53c77be5ce6e201fc92380f95"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} device-1 | {"level":"info","message":"GET /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795? 200 35ms","method":"GET","requestID":"122c3410-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":35,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e550f010-bebe-41ce-b414-676e150c8a3d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.836732} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.887701,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} device-1 | {"level":"info","message":"GET /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d? 200 40ms","method":"GET","requestID":"122bbee0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":40,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","rebac_allow":false,"scope_allow":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":"123052c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling 200 18ms","method":"POST","requestID":"123052c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"244f8db53c77be5ce6e201fc92380f95"} experiment-1 | {"level":"info","message":"POST /experiments? 201 198ms","method":"POST","requestID":"244f8db53c77be5ce6e201fc92380f95","responseTime":198,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d261581-c204-4108-93a2-d00d5e23fbe4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8506522} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.420431,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","rebac_allow":false,"scope_allow":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":"1232c3c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"543491c526b84109f9d78ff0569cca1e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling 200 13ms","method":"POST","requestID":"1232c3c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.038765,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"543491c526b84109f9d78ff0569cca1e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d15698b-5f75-4a32-a65e-7a04e11356ba","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8653917} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.493137,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"12350db0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.811971545Z"}]},"request_id":"26b5c106-3fdc-43ea-a606-1ebf01cd65e7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8707244} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling 200 11ms","method":"POST","requestID":"12350db0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/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":"543491c526b84109f9d78ff0569cca1e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"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":"83d7db92-e215-40ed-a131-5c2458393acd"},{"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":"6d2e647e-af4f-4a6f-ac8f-8e402989530a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9db12f6e-7f4b-4336-b8b9-8ee7a63fb7bb"}]},"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/73ea1751-3d44-4ac6-8330-ab22f48c7795"},{"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/8a5d7eae-0677-43fc-907b-dafe28fada1d"}],"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":"23/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"543491c526b84109f9d78ff0569cca1e"} device-1 | {"level":"info","message":"GET /devices/8a5d7eae-0677-43fc-907b-dafe28fada1d? 200 20ms","method":"GET","requestID":"543491c526b84109f9d78ff0569cca1e","responseTime":20,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.307965,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} 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":"12377eb0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a5607672002b62aab90000ab92673798","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.972434,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458766,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2Nn0.82gkflmaAg9DZl9gMcnP3b8ZFYuqNKgxv9jq0ufDzNQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5607672002b62aab90000ab92673798"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:03.867161195Z"}]},"request_id":"9d535b18-dba6-429a-90c5-df38d1bba6c4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8948383} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5607672002b62aab90000ab92673798"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"9759d48e-6f2c-4e1d-ab65-ee53131d7290","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.896295} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e5f8f66-105d-4c0b-b520-b3c470965dfb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.8965852} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12377eb0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5607672002b62aab90000ab92673798"} device-1 | {"level":"info","message":"GET /devices/73ea1751-3d44-4ac6-8330-ab22f48c7795? 200 17ms","method":"GET","requestID":"a5607672002b62aab90000ab92673798","responseTime":17,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795?"} 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/7f3ff06e-257d-442a-9aa4-a14de9dff05b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b'"} 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 53ms","method":"POST","requestID":"12377eb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":53,"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/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e78f5e3-76f8-415d-9c89-f5c103c52be6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.9682398} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.644931,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1244ec30-18ec-11ef-b4a6-53fbcbef7f4b"},"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/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling 200 15ms","method":"POST","requestID":"1244ec30-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2f4d1a1-cf19-4a0d-9d60-9cc76e3cfa53","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458766.98739} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.699161,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1247d260-18ec-11ef-b4a6-53fbcbef7f4b"},"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/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling 200 19ms","method":"POST","requestID":"1247d260-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7f3ff06e-257d-442a-9aa4-a14de9dff05b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7d47da5fe44548491d82752bba25be6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795"},{"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/8a5d7eae-0677-43fc-907b-dafe28fada1d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"b7d47da5fe44548491d82752bba25be6","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7d47da5fe44548491d82752bba25be6"} device-1 | {"data":{"peerconnection":"7f3ff06e-257d-442a-9aa4-a14de9dff05b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7f3ff06e-257d-442a-9aa4-a14de9dff05b","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/7f3ff06e-257d-442a-9aa4-a14de9dff05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7f3ff06e-257d-442a-9aa4-a14de9dff05b","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":"f6f6c2e9b0466d579945cfcb34a9c6fe","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/73ea1751-3d44-4ac6-8330-ab22f48c7795"},{"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/8a5d7eae-0677-43fc-907b-dafe28fada1d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7f3ff06e-257d-442a-9aa4-a14de9dff05b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccbf6ba9-43c1-4218-a5b1-e351bfd3eb1c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.0646687} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.070153,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b","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":"1253b940-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7f3ff06e-257d-442a-9aa4-a14de9dff05b 200 8ms","method":"GET","requestID":"1253b940-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"f6f6c2e9b0466d579945cfcb34a9c6fe","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6f6c2e9b0466d579945cfcb34a9c6fe"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c791780f-1e53-4157-aa1e-dd655a484123","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.088494} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.081026,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"125762c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling 200 8ms","method":"POST","requestID":"125762c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d297d77-031a-4c74-884d-2a0209c3a750","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.099148} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.621802,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","rebac_allow":false,"scope_allow":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":"1258e960-18ec-11ef-b4a6-53fbcbef7f4b"},"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/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling 200 9ms","method":"POST","requestID":"1258e960-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eadefc7a8d61b01ee1ec84959f5a1158","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.685872,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458767,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E"} 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":"eadefc7a8d61b01ee1ec84959f5a1158"},"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/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"} experiment-1 | {"level":"info","message":"GET /experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93 200 10ms","method":"GET","requestID":"eadefc7a8d61b01ee1ec84959f5a1158","responseTime":10,"status":200,"url":"/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eadefc7a8d61b01ee1ec84959f5a1158"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"18878ccb567f8886ab91be6fde2758d0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.735728,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458767,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E"} 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":"18878ccb567f8886ab91be6fde2758d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.666897,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458767,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12632290-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7f3ff06e-257d-442a-9aa4-a14de9dff05b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7f3ff06e-257d-442a-9aa4-a14de9dff05b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7f3ff06e-257d-442a-9aa4-a14de9dff05b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"d51a0196-fcb7-4f0c-9d80-3a2d138df31f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.1770816} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c069490-009a-4ab8-937e-8c5b0f598945","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.1774204} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3ac7536b5305cc5012e455bc1894becd","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12632290-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/73ea1751-3d44-4ac6-8330-ab22f48c7795"},{"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/8a5d7eae-0677-43fc-907b-dafe28fada1d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7719f74bd17bd100b4214041eef8c6d1","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/73ea1751-3d44-4ac6-8330-ab22f48c7795"},{"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/8a5d7eae-0677-43fc-907b-dafe28fada1d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"7f3ff06e-257d-442a-9aa4-a14de9dff05b","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/7f3ff06e-257d-442a-9aa4-a14de9dff05b 204 53ms","method":"DELETE","requestID":"12632290-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":53,"status":204,"url":"/peerconnections/7f3ff06e-257d-442a-9aa4-a14de9dff05b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73ea1751-3d44-4ac6-8330-ab22f48c7795","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea3010df-3254-434c-ae9e-9d86a9c35f69","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.2448714} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.038458,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795","object_type":"device","rebac_allow":false,"scope_allow":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":"126ebb50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling 200 15ms","method":"POST","requestID":"126ebb50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03d30a51-ecb4-4c06-9cc1-46ee998a4f93': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F03d30a51-ecb4-4c06-9cc1-46ee998a4f93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"bd0631bc-0f26-46b4-b096-60fa48624a8f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.254523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa92d8f3-da66-42ec-9f89-c154412b8530","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.2548676} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18878ccb567f8886ab91be6fde2758d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a5d7eae-0677-43fc-907b-dafe28fada1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eac66c41-006d-4182-8a58-b7b19aea4e22","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.2634583} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.299754,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d","object_type":"device","rebac_allow":false,"scope_allow":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":"1271a180-18ec-11ef-b4a6-53fbcbef7f4b"},"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/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling 200 15ms","method":"POST","requestID":"1271a180-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18878ccb567f8886ab91be6fde2758d0"} experiment-1 | {"level":"info","message":"DELETE /experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93 204 172ms","method":"DELETE","requestID":"18878ccb567f8886ab91be6fde2758d0","responseTime":172,"status":204,"url":"/experiments/03d30a51-ecb4-4c06-9cc1-46ee998a4f93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"3ac7536b5305cc5012e455bc1894becd","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ac7536b5305cc5012e455bc1894becd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"7719f74bd17bd100b4214041eef8c6d1","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"7719f74bd17bd100b4214041eef8c6d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6498b260eaf1301da3a2f312d4cc2692","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.777","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e9e7f5e60b6fe09a8ff6823cc7edb134"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.765","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"15cba1017241a5c3b5af29eb30b8346b"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/73ea1751-3d44-4ac6-8330-ab22f48c7795' closed"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.884779,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458767,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8a5d7eae-0677-43fc-907b-dafe28fada1d' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6498b260eaf1301da3a2f312d4cc2692"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3a2a6081-0534-4ced-8b08-ea741578145b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.358901} 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":"6498b260eaf1301da3a2f312d4cc2692"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f121a64-0ddb-4544-93d1-9d97e5b49fac","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.3702953} 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":"6498b260eaf1301da3a2f312d4cc2692"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"885fae3e-54c6-45a4-91e5-b7422fee71d7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.3797166} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"269e6fde-855d-4ec2-a68e-f4020386446a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.3799784} 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":"6498b260eaf1301da3a2f312d4cc2692"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.379695983Z"}]},"request_id":"2e5f0fc3-9322-4172-b053-8098727b58ce","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.3835115} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6498b260eaf1301da3a2f312d4cc2692"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6498b260eaf1301da3a2f312d4cc2692"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"6498b260eaf1301da3a2f312d4cc2692","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"83e40cfd631a35b816052e6596309e91","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.83657,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458767,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2N30.RQinF3PhkUGu945oRTV9I43EXDPeWQUmeMXlPlgsD2E"} 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":"83e40cfd631a35b816052e6596309e91"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54664d0e-d863-4722-900e-0d8820ed8de5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.406918} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83e40cfd631a35b816052e6596309e91"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea6f35c2-57e7-4aa2-94e2-88610e7d0ba7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.4108696} 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":"83e40cfd631a35b816052e6596309e91"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"d9c6d43c-1b6f-4b71-8c06-0cab556def6b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.4229183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33724b19-0619-478f-9936-dfb1c1b2b6c2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.4231768} 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":"83e40cfd631a35b816052e6596309e91"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.422895574Z"}]},"request_id":"6fe0c57a-0598-4384-b824-d545d848127c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458767.4270077} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83e40cfd631a35b816052e6596309e91"},"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":"83e40cfd631a35b816052e6596309e91","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83e40cfd631a35b816052e6596309e91"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d9dcd56f62f351a7dfc3500d6aeeceb8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/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":"d9dcd56f62f351a7dfc3500d6aeeceb8"} device-1 | {"level":"info","message":"OPTIONS /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/websocket 200 1ms","method":"OPTIONS","requestID":"d9dcd56f62f351a7dfc3500d6aeeceb8","responseTime":1,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ff817e9b9d58fa037199c8323af084e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763154,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ff817e9b9d58fa037199c8323af084e"},"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":"c2c7dafe1a3b6b3bc30c789dc14890cf","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/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":"c2c7dafe1a3b6b3bc30c789dc14890cf"} device-1 | {"level":"info","message":"OPTIONS /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/websocket 200 1ms","method":"OPTIONS","requestID":"c2c7dafe1a3b6b3bc30c789dc14890cf","responseTime":1,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4b782b715aed2c869140db37be78e2e9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.273607,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/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":"7ff817e9b9d58fa037199c8323af084e"} device-1 | {"level":"info","message":"POST /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/websocket 200 29ms","method":"POST","requestID":"7ff817e9b9d58fa037199c8323af084e","responseTime":29,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/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":"4b782b715aed2c869140db37be78e2e9"},"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":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4b782b715aed2c869140db37be78e2e9"} device-1 | {"level":"info","message":"POST /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/websocket 200 21ms","method":"POST","requestID":"4b782b715aed2c869140db37be78e2e9","responseTime":21,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"0a4935825b5473ae23c73785bd31a012","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668515,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a4935825b5473ae23c73785bd31a012"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.379695983Z"}]},"request_id":"cecc2d08-d06b-484a-867f-2419b0b9b50b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.4427552} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a4935825b5473ae23c73785bd31a012"},"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":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a4935825b5473ae23c73785bd31a012"} device-1 | {"level":"info","message":"GET /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c? 200 19ms","method":"GET","requestID":"0a4935825b5473ae23c73785bd31a012","responseTime":19,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ce417c312dcabe556af6acf7a95c4e89","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203019,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce417c312dcabe556af6acf7a95c4e89"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.422895574Z"}]},"request_id":"834b09d9-ca2d-41a8-a69b-43619286e3e6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.4701812} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce417c312dcabe556af6acf7a95c4e89"},"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":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce417c312dcabe556af6acf7a95c4e89"} device-1 | {"level":"info","message":"GET /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae? 200 19ms","method":"GET","requestID":"ce417c312dcabe556af6acf7a95c4e89","responseTime":19,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6f3c82e968e9ded8edace16bb885a9ff","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:50018","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.216074,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} 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":"6f3c82e968e9ded8edace16bb885a9ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"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:50018","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.268168,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13ce7260-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.118751,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} 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":"13cec080-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.379695983Z"}]},"request_id":"18ea06f5-6d80-4cd5-82a5-63c906182d1e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.556072} 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":"13ce7260-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.422895574Z"}]},"request_id":"6f7744ed-3ca6-4da1-a1dd-7cad0301e6f3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.5576613} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13cec080-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c? 200 24ms","method":"GET","requestID":"13ce7260-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae? 200 23ms","method":"GET","requestID":"13cec080-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"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/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.40039,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.667057,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} 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":"13daa760-18ec-11ef-b4a6-53fbcbef7f4b"},"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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} 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":"13daf580-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:40568","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.379695983Z"}]},"request_id":"494d825e-c072-4692-ab6b-9049ac0d0e21","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6360934} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13daa760-18ec-11ef-b4a6-53fbcbef7f4b"},"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:40568","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.87665,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.422895574Z"}]},"request_id":"b7b080b8-8c5d-4197-ac75-6af181715254","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.637905} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3dab1567-d10b-47ae-a9fa-bad38d61c4d0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6382322} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13daf580-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","rebac_allow":false,"scope_allow":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":"13db1c90-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c? 200 21ms","method":"GET","requestID":"13daa760-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf6603f-5f24-40e0-8006-2d0039d34c61#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf6603f-5f24-40e0-8006-2d0039d34c61","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"a65ccc96-8c34-481b-978f-27c29afc6645","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6447577} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5a4e6d5-1df0-4a42-a8de-597863a31dd7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6450145} device-1 | {"level":"info","message":"GET /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae? 200 21ms","method":"GET","requestID":"13daf580-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae?"} 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":"6f3c82e968e9ded8edace16bb885a9ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling 200 22ms","method":"POST","requestID":"13db1c90-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e44fc1b-a1c0-4d63-9c80-6d45ea379136","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6538508} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.578213,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"13de9f00-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f3c82e968e9ded8edace16bb885a9ff"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"6f3c82e968e9ded8edace16bb885a9ff","responseTime":170,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling 200 11ms","method":"POST","requestID":"13de9f00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01aadd8e-96e2-47de-b780-676dbfa118b9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6595426} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.989,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13df6250-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8721cca700d0c498b0ca4d70cdc4192","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fefe931a-b630-41c5-9a55-6c838227bfc2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6656647} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.141296,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} device-1 | {"level":"info","message":"POST /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling 200 14ms","method":"POST","requestID":"13df6250-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13e09ad0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970425,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} 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":"c8721cca700d0c498b0ca4d70cdc4192"},"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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling 200 11ms","method":"POST","requestID":"13e09ad0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.379695983Z"}]},"request_id":"c6e73700-e9f4-446e-8cc6-a6f282d6553d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6725185} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"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":"b3277aa7-f826-4acd-b4f2-34a0675527f6"},{"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":"ee3e319d-c1db-490c-94d0-830e93071a44"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"325bf8ad-1a6b-4989-9470-c8ce5c658f4e"}]},"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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae"},{"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8721cca700d0c498b0ca4d70cdc4192"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8721cca700d0c498b0ca4d70cdc4192"} device-1 | {"level":"info","message":"GET /devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c? 200 13ms","method":"GET","requestID":"c8721cca700d0c498b0ca4d70cdc4192","responseTime":13,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.849784,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} 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":"13e2bdb0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f725c4d2f9cfafb6885471f3423409f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707371,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} 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":"6f725c4d2f9cfafb6885471f3423409f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"7f23e710-db51-4821-ac0d-fb0e72af1467","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6899917} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eca2d678-d589-444d-9b34-8051a64d31a0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.690116} 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":"13e2bdb0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:07.422895574Z"}]},"request_id":"75d58044-77c5-4219-bf74-ae2cb0931f25","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.6909478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f725c4d2f9cfafb6885471f3423409f"},"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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae? 200 15ms","method":"GET","requestID":"6f725c4d2f9cfafb6885471f3423409f","responseTime":15,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae?"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f725c4d2f9cfafb6885471f3423409f"} 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/c799d19b-6628-492a-b6d1-4f9a09937ccd'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"13e2bdb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1c4e6b8-4f88-4e7b-b9f2-3c27a011f259","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.7470007} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.551305,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"13ecf6e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling 200 10ms","method":"POST","requestID":"13ecf6e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fe62cec-3fa3-4331-8198-04b766641b30","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.7604127} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.434593,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"13eecba0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling 200 14ms","method":"POST","requestID":"13eecba0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c799d19b-6628-492a-b6d1-4f9a09937ccd","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"858b66f36c78f8d2ba4700f6d59181de","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae"},{"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"858b66f36c78f8d2ba4700f6d59181de","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"858b66f36c78f8d2ba4700f6d59181de"} device-1 | {"data":{"peerconnection":"c799d19b-6628-492a-b6d1-4f9a09937ccd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c799d19b-6628-492a-b6d1-4f9a09937ccd","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c799d19b-6628-492a-b6d1-4f9a09937ccd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"00e2734923874f8de34874e36cd7151c","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae"},{"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc799d19b-6628-492a-b6d1-4f9a09937ccd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"469d61b9-efad-4c2b-b1f0-dd55e3269ec0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.8423932} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.037172,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd","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":"13fb9ce0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/c799d19b-6628-492a-b6d1-4f9a09937ccd 200 8ms","method":"GET","requestID":"13fb9ce0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"00e2734923874f8de34874e36cd7151c","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"00e2734923874f8de34874e36cd7151c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9895bb6c-d272-4ae8-9240-9350ed8db29a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.867379} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.04904,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","rebac_allow":false,"scope_allow":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":"13ff6d70-18ec-11ef-b4a6-53fbcbef7f4b"},"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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling 200 8ms","method":"POST","requestID":"13ff6d70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f3f1a85-089b-4444-ad25-47a0c7862244","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.8774922} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.229638,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1400f410-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling 200 8ms","method":"POST","requestID":"1400f410-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c04b4d78198f17dd704c697621a91e49","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.631172,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c04b4d78198f17dd704c697621a91e49"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"} gateway-1 | {"time_local":"23/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c04b4d78198f17dd704c697621a91e49"} experiment-1 | {"level":"info","message":"GET /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61 200 9ms","method":"GET","requestID":"c04b4d78198f17dd704c697621a91e49","responseTime":9,"status":200,"url":"/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dddf8d58792928ae91c28892397d2a49","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.635263,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dddf8d58792928ae91c28892397d2a49"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.68451,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458769,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc2OX0.kn8ePdgo2snAgClby-kYtT5td6O_fgev9BR0pwQeZmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"140a1bd0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c799d19b-6628-492a-b6d1-4f9a09937ccd","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":"564d5e232f4507f02277fbff6b0e99ef","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae"},{"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"bb15970336818c8c6f6647ac62e990ce","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc799d19b-6628-492a-b6d1-4f9a09937ccd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc799d19b-6628-492a-b6d1-4f9a09937ccd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"f1774cde-edc0-466c-a6e1-06d7ff1a214a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.9511926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29f9adf8-7e2e-43fd-b8b0-a6dfbe9ae761","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.951381} 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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae"},{"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"140a1bd0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"c799d19b-6628-492a-b6d1-4f9a09937ccd","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/c799d19b-6628-492a-b6d1-4f9a09937ccd 204 44ms","method":"DELETE","requestID":"140a1bd0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":44,"status":204,"url":"/peerconnections/c799d19b-6628-492a-b6d1-4f9a09937ccd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df2b90bb-c35b-4e6f-abc7-128e2dfaa65b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458769.9984097} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392002,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14136aa0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling 200 9ms","method":"POST","requestID":"14136aa0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf6603f-5f24-40e0-8006-2d0039d34c61': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0bf6603f-5f24-40e0-8006-2d0039d34c61","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"6f7dffe2-1d29-4bd1-9fdf-3170498b096a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.0042458} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f17f887b-4dc6-4aa1-b90a-2597bb2f3180","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.0045156} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dddf8d58792928ae91c28892397d2a49"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b0a68b7-f00e-4f25-a23b-d5d807cee76c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa44b1bd-a16e-4efa-9145-3b4f9f4fc690","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.0099056} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.540446,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c","object_type":"device","rebac_allow":false,"scope_allow":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":"14151850-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling 200 9ms","method":"POST","requestID":"14151850-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dddf8d58792928ae91c28892397d2a49"} experiment-1 | {"level":"info","message":"DELETE /experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61 204 131ms","method":"DELETE","requestID":"dddf8d58792928ae91c28892397d2a49","responseTime":131,"status":204,"url":"/experiments/0bf6603f-5f24-40e0-8006-2d0039d34c61"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"564d5e232f4507f02277fbff6b0e99ef","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"564d5e232f4507f02277fbff6b0e99ef"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 107ms","method":"POST","requestID":"bb15970336818c8c6f6647ac62e990ce","responseTime":107,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb15970336818c8c6f6647ac62e990ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2a7de51c3242eed760e356ffd8727b3d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2884","request_time":"0.677","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5d9406d7a10afa0f4699b6f21b914987"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.666","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c4233f2d95f1e796c39226bcceffac7c"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86032,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458770,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a7de51c3242eed760e356ffd8727b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/76e09cc1-2f46-438f-af3c-bcdd2b4bd9ae' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1ee57687-ecc0-4100-8b69-5bff9d66de67","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.085057} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a7de51c3242eed760e356ffd8727b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1b0a68b7-f00e-4f25-a23b-d5d807cee76c' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d364796c-4ed1-4007-9720-1808e6c35dfd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.089398} 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":"2a7de51c3242eed760e356ffd8727b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"e6ee26df-f542-45b1-b031-4b72321b8f6e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.0985973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6606ec07-cea3-4a51-af72-710f2ef7c88d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.0987177} 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":"2a7de51c3242eed760e356ffd8727b3d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.098578220Z"}]},"request_id":"bab0cbb2-8efa-4fdb-9654-819a6c5b850f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.1024435} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a7de51c3242eed760e356ffd8727b3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a7de51c3242eed760e356ffd8727b3d"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"2a7de51c3242eed760e356ffd8727b3d","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a8468b24d5157e09c43ceabb24f1f00a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.695118,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458770,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw"} 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":"a8468b24d5157e09c43ceabb24f1f00a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e7e66cfb-3295-4c9b-b528-54b0a3b7e28b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.127626} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8468b24d5157e09c43ceabb24f1f00a"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7ca9fa6-b414-4fa4-b5a2-4522c1959b59","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.1313887} 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":"a8468b24d5157e09c43ceabb24f1f00a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"a4209aa9-3801-4de6-b29d-bd28d5dd9771","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.1421509} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"256a4d90-46a2-472d-8397-8ef2af9a4b1b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.1423109} 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":"a8468b24d5157e09c43ceabb24f1f00a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.142132218Z"}]},"request_id":"f96785ac-c9d8-4473-ad42-026d2b863627","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.1458743} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8468b24d5157e09c43ceabb24f1f00a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8468b24d5157e09c43ceabb24f1f00a"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"a8468b24d5157e09c43ceabb24f1f00a","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3a6ff08fb4cbef47b282b37bb5bc1c62","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.68043,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458770,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a6ff08fb4cbef47b282b37bb5bc1c62"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.142132218Z"}]},"request_id":"836926cc-881c-4ad8-82fb-7bdb8231cba9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.6366472} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a6ff08fb4cbef47b282b37bb5bc1c62"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb651613-8c9a-4e68-95ec-eb649b617f2c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.6424255} 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":"3a6ff08fb4cbef47b282b37bb5bc1c62"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.142132218Z"}]},"request_id":"72ffd9d5-6cf6-4f6b-9eef-14b43468f64f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458770.670084} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a6ff08fb4cbef47b282b37bb5bc1c62"},"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/bca3b7fb-39b7-44c0-a119-1e36133c62c5 200 50ms","method":"PATCH","requestID":"3a6ff08fb4cbef47b282b37bb5bc1c62","responseTime":50,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5"} gateway-1 | {"time_local":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3a6ff08fb4cbef47b282b37bb5bc1c62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b12ce3b949724fcd233710c373f86d11","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204834,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458770,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3MH0.TgxkrhMRBXum3vmrsfWrAVtShcA-r9Jh-bAAcT9dmBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b12ce3b949724fcd233710c373f86d11"},"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":"23/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b12ce3b949724fcd233710c373f86d11"} device-1 | {"level":"info","message":"POST /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/websocket 200 22ms","method":"POST","requestID":"b12ce3b949724fcd233710c373f86d11","responseTime":22,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5' 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":"ae0ec73b687b00079ce12b16fcd2691f","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/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":"ae0ec73b687b00079ce12b16fcd2691f"} device-1 | {"level":"info","message":"OPTIONS /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/websocket 200 1ms","method":"OPTIONS","requestID":"ae0ec73b687b00079ce12b16fcd2691f","responseTime":1,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3b28b22689d0250681238f1e8f7db068","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180144,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b28b22689d0250681238f1e8f7db068"},"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":"23/May/2024:10:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/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":"3b28b22689d0250681238f1e8f7db068"} device-1 | {"level":"info","message":"POST /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/websocket 200 42ms","method":"POST","requestID":"3b28b22689d0250681238f1e8f7db068","responseTime":42,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e2dab5bcee5c8711e3a378bf7cd5e60","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.346953,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e2dab5bcee5c8711e3a378bf7cd5e60"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.098578220Z"}]},"request_id":"09a39229-d8a0-4067-9072-8f6d6266af8c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.2249413} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e2dab5bcee5c8711e3a378bf7cd5e60"},"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":"23/May/2024:10:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e2dab5bcee5c8711e3a378bf7cd5e60"} device-1 | {"level":"info","message":"GET /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83? 200 19ms","method":"GET","requestID":"9e2dab5bcee5c8711e3a378bf7cd5e60","responseTime":19,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66c52445119c823ed4c2f8a46fd4a7e6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.404595,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66c52445119c823ed4c2f8a46fd4a7e6"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.142132218Z"}]},"request_id":"519da492-521b-40ef-bf3e-dd727e6623e9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.2517936} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66c52445119c823ed4c2f8a46fd4a7e6"},"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":"23/May/2024:10:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66c52445119c823ed4c2f8a46fd4a7e6"} device-1 | {"level":"info","message":"GET /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5? 200 19ms","method":"GET","requestID":"66c52445119c823ed4c2f8a46fd4a7e6","responseTime":19,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"470c084dc55542f5a54dc4eee9004c98","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:50018","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.264144,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} 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":"470c084dc55542f5a54dc4eee9004c98"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"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:50018","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.012823,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} 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":"15774060-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244601,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} 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":"15778e80-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.098578220Z"}]},"request_id":"b1836709-fa93-44ed-a80c-8d4e3721e7d1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.3399708} 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":"15774060-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.142132218Z"}]},"request_id":"7ad051ab-ebe1-4951-a214-bf6ea14615fb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.3413796} 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":"15778e80-18ec-11ef-b4a6-53fbcbef7f4b"},"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83? 200 23ms","method":"GET","requestID":"15774060-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5? 200 23ms","method":"GET","requestID":"15778e80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"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:50018","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974608,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"158438b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877245,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} 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":"158486d0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.532639,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce500d9f-99fd-49c7-bf6c-fc29d9374d00","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4254246} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.098578220Z"}]},"request_id":"86f94d8e-c35c-4fc9-b83e-de6bbaab44b3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.426325} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","rebac_allow":false,"scope_allow":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":"1584d4f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"158438b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.142132218Z"}]},"request_id":"6f817f14-4331-46db-88d3-4b3dbc219079","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4281518} 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":"158486d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling 200 21ms","method":"POST","requestID":"1584d4f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4d15b119-3ca3-439b-a657-4a00af9c537c#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4d15b119-3ca3-439b-a657-4a00af9c537c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"ef9450cb-f7fb-4dd4-9818-6948008bd56a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4371133} device-1 | {"level":"info","message":"GET /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83? 200 27ms","method":"GET","requestID":"158438b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":27,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19c90d0a-c3e2-4fbf-aaa9-b806b2452335","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4381876} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5? 200 26ms","method":"GET","requestID":"158486d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5?"} 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":"470c084dc55542f5a54dc4eee9004c98"},"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:50018","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f73e5998-789b-45bc-aa61-22406b583672","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4475043} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.415817,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","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/4d15b119-3ca3-439b-a657-4a00af9c537c","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1588a580-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"470c084dc55542f5a54dc4eee9004c98","responseTime":184,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"470c084dc55542f5a54dc4eee9004c98"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c607e5c-e666-4e03-bdee-d48236b1dcd5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4494271} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.368164,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","rebac_allow":false,"scope_allow":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":"1588f3a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling 200 16ms","method":"POST","requestID":"1588a580-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"670d8b5572211ff63e0f49f497eca6be","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling 200 15ms","method":"POST","requestID":"1588f3a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889601,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"670d8b5572211ff63e0f49f497eca6be"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8493b1d0-e8e4-4a66-86ea-30745b80ac50","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4670959} authorization-1 | {"client_addr":"127.0.0.1:40562","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.408189,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","rebac_allow":false,"scope_allow":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":"158bd9d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.098578220Z"}]},"request_id":"bfb40b48-4dad-4931-b15f-a8509b5227d7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4692032} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"670d8b5572211ff63e0f49f497eca6be"},"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/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling 200 14ms","method":"POST","requestID":"158bd9d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"670d8b5572211ff63e0f49f497eca6be"} device-1 | {"level":"info","message":"GET /devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83? 200 17ms","method":"GET","requestID":"670d8b5572211ff63e0f49f497eca6be","responseTime":17,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"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":"fba090ad-b71a-4bb9-87b9-988d24dd1a84"},{"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":"5d68ec83-92dd-48c3-bc5d-928f391e19b1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"169f7925-ec0d-44fe-8f9f-15db89d42936"}]},"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/bca3b7fb-39b7-44c0-a119-1e36133c62c5"},{"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.70343,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80","level":"info","message":"auth send jwt"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b486e34283243416c77c0b414fabce1a","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"158e71e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687726,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458772,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3Mn0.2-KjCkbbyct9YwsmSr6vZU0iN7kxbW_fkQKuroMLC80"} 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":"b486e34283243416c77c0b414fabce1a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:10.142132218Z"}]},"request_id":"d1520363-46a1-4196-8417-e6ba66508d6c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4915776} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b486e34283243416c77c0b414fabce1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"a2abc28a-8374-4964-accb-9b2181a5127b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4950054} gateway-1 | {"time_local":"23/May/2024:10:06:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b486e34283243416c77c0b414fabce1a"} device-1 | {"level":"info","message":"GET /devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5? 200 13ms","method":"GET","requestID":"b486e34283243416c77c0b414fabce1a","responseTime":13,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1919d3c2-0440-45c4-80db-cbd70da3242c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.4953556} 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":"158e71e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b4ae705b-058e-4190-9ca7-bb2fe678f996'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996'"} 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":"158e71e0-18ec-11ef-b4a6-53fbcbef7f4b","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/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b2625e7-3a12-4a0c-ba01-18d0ba6fe24d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.5604303} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557196,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"159a31b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling 200 12ms","method":"POST","requestID":"159a31b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffde0706-6336-4069-a3fe-685d5bc24fd1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458772.57485} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.159812,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","rebac_allow":false,"scope_allow":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":"159c7ba0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling 200 8ms","method":"POST","requestID":"159c7ba0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling"} device-1 | {"data":{"peerconnection":"b4ae705b-058e-4190-9ca7-bb2fe678f996","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/b4ae705b-058e-4190-9ca7-bb2fe678f996' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b4ae705b-058e-4190-9ca7-bb2fe678f996","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":"7e6a35bf88b1d02245c84ff88e4811ae","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/bca3b7fb-39b7-44c0-a119-1e36133c62c5"},{"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"7e6a35bf88b1d02245c84ff88e4811ae","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"7e6a35bf88b1d02245c84ff88e4811ae"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83'"} device-1 | {"data":{"peerconnection":"b4ae705b-058e-4190-9ca7-bb2fe678f996","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b4ae705b-058e-4190-9ca7-bb2fe678f996","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/b4ae705b-058e-4190-9ca7-bb2fe678f996' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b4ae705b-058e-4190-9ca7-bb2fe678f996","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":"48f6ec37aa9132d2473f8801f7b54f27","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/bca3b7fb-39b7-44c0-a119-1e36133c62c5"},{"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb4ae705b-058e-4190-9ca7-bb2fe678f996","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7461bd7-1dca-4027-8670-98973feb36e8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.6913695} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.482179,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996","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":"16df34d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b4ae705b-058e-4190-9ca7-bb2fe678f996 200 12ms","method":"GET","requestID":"16df34d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"48f6ec37aa9132d2473f8801f7b54f27","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06: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.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"48f6ec37aa9132d2473f8801f7b54f27"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f670f73f-f50e-492d-b669-069a25f0e7d5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.7294505} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.118049,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","rebac_allow":false,"scope_allow":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":"16e4da20-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling 200 15ms","method":"POST","requestID":"16e4da20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a63ef058-c2ca-4bf5-a332-34033867dc19","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.7466471} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.441881,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","rebac_allow":false,"scope_allow":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":"16e79940-18ec-11ef-b4a6-53fbcbef7f4b"},"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling 200 14ms","method":"POST","requestID":"16e79940-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NH0.6BBe9IvS2_DyZTXtLBWWQPdO91hkSNc7oMF4mhmSNyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5cba905527336ddb08c40f696cbf9c54","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.1663,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458774,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NH0.6BBe9IvS2_DyZTXtLBWWQPdO91hkSNc7oMF4mhmSNyg"} 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":"5cba905527336ddb08c40f696cbf9c54"},"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/4d15b119-3ca3-439b-a657-4a00af9c537c"} experiment-1 | {"level":"info","message":"GET /experiments/4d15b119-3ca3-439b-a657-4a00af9c537c 200 17ms","method":"GET","requestID":"5cba905527336ddb08c40f696cbf9c54","responseTime":17,"status":200,"url":"/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"} gateway-1 | {"time_local":"23/May/2024:10:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4d15b119-3ca3-439b-a657-4a00af9c537c HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cba905527336ddb08c40f696cbf9c54"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NH0.6BBe9IvS2_DyZTXtLBWWQPdO91hkSNc7oMF4mhmSNyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a30d0d9928b162ed7fbeb0cbdd46aea2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.235511,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458774,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NH0.6BBe9IvS2_DyZTXtLBWWQPdO91hkSNc7oMF4mhmSNyg"} 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":"a30d0d9928b162ed7fbeb0cbdd46aea2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.767428,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458774,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NH0.6BBe9IvS2_DyZTXtLBWWQPdO91hkSNc7oMF4mhmSNyg"} 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":"16f0e810-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b4ae705b-058e-4190-9ca7-bb2fe678f996' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b4ae705b-058e-4190-9ca7-bb2fe678f996","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb4ae705b-058e-4190-9ca7-bb2fe678f996': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb4ae705b-058e-4190-9ca7-bb2fe678f996","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"0ea8c9fd-c613-42ee-9935-4ba0be826a04","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.8246884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2c2e014-45de-48de-973c-7052706b842b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.8251429} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1757f1d91abf4bcc0415ef1f5c75e14a","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":"16f0e810-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/bca3b7fb-39b7-44c0-a119-1e36133c62c5"},{"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996"}}},"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":"80163bc7836fa5a8e3be901b889ac4d8","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/bca3b7fb-39b7-44c0-a119-1e36133c62c5"},{"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"b4ae705b-058e-4190-9ca7-bb2fe678f996","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/b4ae705b-058e-4190-9ca7-bb2fe678f996 204 45ms","method":"DELETE","requestID":"16f0e810-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":45,"status":204,"url":"/peerconnections/b4ae705b-058e-4190-9ca7-bb2fe678f996"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbca3b7fb-39b7-44c0-a119-1e36133c62c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9c12402-faa3-40e8-afde-16726da6f210","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.8775122} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.144458,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5","object_type":"device","rebac_allow":false,"scope_allow":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":"16fb4850-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling 200 15ms","method":"POST","requestID":"16fb4850-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4d15b119-3ca3-439b-a657-4a00af9c537c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4d15b119-3ca3-439b-a657-4a00af9c537c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"c2ba25e2-f062-4f02-ae95-dd629ebdb1f9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.8880677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77a17a20-3f2c-4ba0-a9fc-4c02d458191a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.8884993} 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":"a30d0d9928b162ed7fbeb0cbdd46aea2"},"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:50018","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe21f9f2-94c5-43f6-8c29-71ff6e57ac83","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efd4e0e9-1649-4699-9a87-83f5a8e3f121","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.8982592} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.529332,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83","object_type":"device","rebac_allow":false,"scope_allow":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":"16fe5590-18ec-11ef-b4a6-53fbcbef7f4b"},"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling 200 17ms","method":"POST","requestID":"16fe5590-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/be21f9f2-94c5-43f6-8c29-71ff6e57ac83/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"} gateway-1 | {"time_local":"23/May/2024:10:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4d15b119-3ca3-439b-a657-4a00af9c537c 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":"a30d0d9928b162ed7fbeb0cbdd46aea2"} gateway-1 | {"time_local":"23/May/2024:10:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3228","request_time":"4.253","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"dca1c67b85f11787a634bb97e80610a2"} experiment-1 | {"level":"info","message":"DELETE /experiments/4d15b119-3ca3-439b-a657-4a00af9c537c 204 173ms","method":"DELETE","requestID":"a30d0d9928b162ed7fbeb0cbdd46aea2","responseTime":173,"status":204,"url":"/experiments/4d15b119-3ca3-439b-a657-4a00af9c537c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"1757f1d91abf4bcc0415ef1f5c75e14a","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"1757f1d91abf4bcc0415ef1f5c75e14a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"80163bc7836fa5a8e3be901b889ac4d8","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"80163bc7836fa5a8e3be901b889ac4d8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NH0.6BBe9IvS2_DyZTXtLBWWQPdO91hkSNc7oMF4mhmSNyg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f239e3686653843a6b5bdc8811bd666e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.781","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"63c13de09e0af6a746dfa174c1369114"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bca3b7fb-39b7-44c0-a119-1e36133c62c5' closed"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.950482,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458774,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NH0.6BBe9IvS2_DyZTXtLBWWQPdO91hkSNc7oMF4mhmSNyg"} 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":"f239e3686653843a6b5bdc8811bd666e"},"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/be21f9f2-94c5-43f6-8c29-71ff6e57ac83' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2cad1e42-f9e1-4ea7-ba74-ff6511492bff","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.9841835} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f239e3686653843a6b5bdc8811bd666e"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3767f11a-d921-4358-a21d-bcf39ab6e91c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.9888635} 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":"f239e3686653843a6b5bdc8811bd666e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"64893351-2f48-4134-8c8a-d80753f1e195","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.9987655} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ca1c984-9a1d-46c6-8486-f9f93e09e39c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458774.9989898} 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":"f239e3686653843a6b5bdc8811bd666e"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:14.998743980Z"}]},"request_id":"3fd5c57b-258c-41be-a4d7-541e249d68a7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.0039754} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f239e3686653843a6b5bdc8811bd666e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f239e3686653843a6b5bdc8811bd666e"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"f239e3686653843a6b5bdc8811bd666e","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NX0.MN_bDxeAuL_apS3f6mswjnCl-r1u51UevQT3uP2Y66o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"39809ec06eb1e324b2a253ddb5b9e059","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.697293,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458775,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NX0.MN_bDxeAuL_apS3f6mswjnCl-r1u51UevQT3uP2Y66o"} 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":"39809ec06eb1e324b2a253ddb5b9e059"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8f482c0e-dcde-4e3d-8625-fbe449cb53ae","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.0289764} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39809ec06eb1e324b2a253ddb5b9e059"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a0adc21-6b23-486a-82f4-d5e25c5d8c5c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.0338533} 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":"39809ec06eb1e324b2a253ddb5b9e059"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"d7f1cf69-823d-4208-bbff-28beb635cfbe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.0435114} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e310a54-c5c1-4b31-ae54-b5e556511c88","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.0436494} 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":"39809ec06eb1e324b2a253ddb5b9e059"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:15.043484132Z"}]},"request_id":"3ed01d6b-b187-49f7-aeca-6b379fbeae27","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.0481894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39809ec06eb1e324b2a253ddb5b9e059"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39809ec06eb1e324b2a253ddb5b9e059"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"39809ec06eb1e324b2a253ddb5b9e059","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NX0.MN_bDxeAuL_apS3f6mswjnCl-r1u51UevQT3uP2Y66o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"755133c2e599a1a22f1a03a03459d8fe","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12815,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458775,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NX0.MN_bDxeAuL_apS3f6mswjnCl-r1u51UevQT3uP2Y66o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"755133c2e599a1a22f1a03a03459d8fe"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:15.043484132Z"}]},"request_id":"d1afb87f-56fc-4a61-8403-9bcd9a562ad6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.5468395} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"755133c2e599a1a22f1a03a03459d8fe"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c88b751c-0793-40f9-a213-0a766d892cc2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.554808} 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":"755133c2e599a1a22f1a03a03459d8fe"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:15.043484132Z"}]},"request_id":"397df7d0-6ff6-445b-adb9-24dd0e38653a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458775.576847} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"755133c2e599a1a22f1a03a03459d8fe"},"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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15 200 48ms","method":"PATCH","requestID":"755133c2e599a1a22f1a03a03459d8fe","responseTime":48,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15"} gateway-1 | {"time_local":"23/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"755133c2e599a1a22f1a03a03459d8fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NX0.MN_bDxeAuL_apS3f6mswjnCl-r1u51UevQT3uP2Y66o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"48752a163e94846b0489506af7ce5d0f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.335833,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458775,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3NX0.MN_bDxeAuL_apS3f6mswjnCl-r1u51UevQT3uP2Y66o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48752a163e94846b0489506af7ce5d0f"},"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":"23/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"48752a163e94846b0489506af7ce5d0f"} device-1 | {"level":"info","message":"POST /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/websocket 200 22ms","method":"POST","requestID":"48752a163e94846b0489506af7ce5d0f","responseTime":22,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15' 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":"6f7c2bf367c8e9c93ae3e2e94eff4d99","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1ff836c8-2985-48a0-86bd-addcbd22272b/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":"6f7c2bf367c8e9c93ae3e2e94eff4d99"} device-1 | {"level":"info","message":"OPTIONS /devices/1ff836c8-2985-48a0-86bd-addcbd22272b/websocket 200 1ms","method":"OPTIONS","requestID":"6f7c2bf367c8e9c93ae3e2e94eff4d99","responseTime":1,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8fd542b83ecd2c617098546e9149e48d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215975,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fd542b83ecd2c617098546e9149e48d"},"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/1ff836c8-2985-48a0-86bd-addcbd22272b/websocket 200 35ms","method":"POST","requestID":"8fd542b83ecd2c617098546e9149e48d","responseTime":35,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1ff836c8-2985-48a0-86bd-addcbd22272b/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":"8fd542b83ecd2c617098546e9149e48d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1cce52ae3d6c878f3a29cab2f4a8c1c1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312131,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cce52ae3d6c878f3a29cab2f4a8c1c1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:14.998743980Z"}]},"request_id":"a0744afe-24e0-4c55-b56e-3f4d1cb04751","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.0882185} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cce52ae3d6c878f3a29cab2f4a8c1c1"},"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/1ff836c8-2985-48a0-86bd-addcbd22272b? 200 18ms","method":"GET","requestID":"1cce52ae3d6c878f3a29cab2f4a8c1c1","responseTime":18,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b?"} gateway-1 | {"time_local":"23/May/2024:10:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ff836c8-2985-48a0-86bd-addcbd22272b? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cce52ae3d6c878f3a29cab2f4a8c1c1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c905033784563f0456f5372bd7e918b6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189081,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c905033784563f0456f5372bd7e918b6"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:15.043484132Z"}]},"request_id":"94d87d64-acec-4c1d-b286-d27973d73433","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.1144032} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c905033784563f0456f5372bd7e918b6"},"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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15? 200 18ms","method":"GET","requestID":"c905033784563f0456f5372bd7e918b6","responseTime":18,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15?"} gateway-1 | {"time_local":"23/May/2024:10:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c905033784563f0456f5372bd7e918b6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2defcac9a8a01a305d4864c2cad5ae68","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:50018","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.290168,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} 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":"2defcac9a8a01a305d4864c2cad5ae68"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"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:50018","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618134,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} 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":"185d2240-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:53854","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53854","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180165,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} 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":"185d7060-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:14.998743980Z"}]},"request_id":"9ee9b982-b79e-4a8b-84e0-fe6870b49a95","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.1972785} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"185d2240-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:15.043484132Z"}]},"request_id":"e600a452-54ce-41c1-bfd1-a829ba58d432","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.2005386} 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":"185d7060-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/1ff836c8-2985-48a0-86bd-addcbd22272b? 200 13ms","method":"GET","requestID":"185d2240-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15? 200 16ms","method":"GET","requestID":"185d7060-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"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/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905629,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:53854","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} 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":"186893f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:53854","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804917,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} 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":"1868e210-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236769,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6605c71c-dda1-444c-bb20-3fd47a572d6c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.2719903} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18690920-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:15.043484132Z"}]},"request_id":"15fc6cef-ac37-4c22-8e19-65b7ef7a8829","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.2766461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1868e210-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:14.998743980Z"}]},"request_id":"11985d47-cb8b-447c-a912-38985dae017a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.2775834} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"186893f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling 200 15ms","method":"POST","requestID":"18690920-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F922a5a57-2608-4ea2-bd32-47caa143bdbd#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F922a5a57-2608-4ea2-bd32-47caa143bdbd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"a3974bff-92a4-4879-9408-c0abf796d353","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.2823334} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b98c80a7-6d48-42e7-a6db-66c7138e9ad2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.2826202} 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":"2defcac9a8a01a305d4864c2cad5ae68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15? 200 21ms","method":"GET","requestID":"1868e210-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1ff836c8-2985-48a0-86bd-addcbd22272b? 200 26ms","method":"GET","requestID":"186893f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6f1be26-f708-4ebe-86b5-84214b0c2cb0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.290037} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.204241,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","rebac_allow":false,"scope_allow":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":"186ba130-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2defcac9a8a01a305d4864c2cad5ae68"} experiment-1 | {"level":"info","message":"POST /experiments? 201 162ms","method":"POST","requestID":"2defcac9a8a01a305d4864c2cad5ae68","responseTime":162,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} device-1 | {"level":"info","message":"POST /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling 200 13ms","method":"POST","requestID":"186ba130-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b286bcecef717913db6e02f110d39a3","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e4cc5bf-e7d7-466b-9505-df47e4547eb6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.2985218} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.732787,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"186d4ee0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656013,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} device-1 | {"level":"info","message":"POST /devices/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling 200 9ms","method":"POST","requestID":"186d4ee0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b/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":"4b286bcecef717913db6e02f110d39a3"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:14.998743980Z"}]},"request_id":"3fa3a1a6-697b-49a2-9be0-3d140880e7da","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.306822} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b286bcecef717913db6e02f110d39a3"},"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:50018","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ff836c8-2985-48a0-86bd-addcbd22272b? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b286bcecef717913db6e02f110d39a3"} device-1 | {"level":"info","message":"GET /devices/1ff836c8-2985-48a0-86bd-addcbd22272b? 200 11ms","method":"GET","requestID":"4b286bcecef717913db6e02f110d39a3","responseTime":11,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd56de59-fd4d-4f89-98c1-b5ea3d7a385c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.311078} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.49217,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"186efc90-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a85f18ad7eb19d914f1f18272848ce94","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling 200 10ms","method":"POST","requestID":"186efc90-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"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":"93cc46b2-e9a1-4da8-ac49-37ee1c20c827"},{"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":"1c2903fc-5271-4e7f-9831-36f766b2e0e8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7c554a99-3194-455e-9683-8166e6e59d50"}]},"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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15"},{"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/1ff836c8-2985-48a0-86bd-addcbd22272b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640362,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} 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":"a85f18ad7eb19d914f1f18272848ce94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.556405,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458777,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3N30._NP5K2DsXY2GSoDi5nxsFxz4SCDvwpp2X76K72jJ1Bw"} 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":"1870f860-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:15.043484132Z"}]},"request_id":"0f9a51e1-0290-4836-b5de-fcf0ec35c7fe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.3232825} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a85f18ad7eb19d914f1f18272848ce94"},"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":"23/May/2024:10:06:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a85f18ad7eb19d914f1f18272848ce94"} device-1 | {"level":"info","message":"GET /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15? 200 14ms","method":"GET","requestID":"a85f18ad7eb19d914f1f18272848ce94","responseTime":14,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"ec14119b-1146-4bd4-b016-3ef88fe8e853","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.3356557} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0426de90-66e7-4061-9070-afe0f95c12ba","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.3368642} 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":"1870f860-18ec-11ef-b4a6-53fbcbef7f4b"},"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/74a26d63-f6e0-4a64-a85e-00eceb558f29'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"1870f860-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e10768e6-ddd9-471d-b800-3c3a3ebc3fc9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.3883204} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.105661,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"187b0a80-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling 200 8ms","method":"POST","requestID":"187b0a80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb65e710-4bf4-425a-860c-64cd1fde9f22","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458777.4002452} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.851036,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","rebac_allow":false,"scope_allow":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":"187cb830-18ec-11ef-b4a6-53fbcbef7f4b"},"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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling 200 14ms","method":"POST","requestID":"187cb830-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling"} device-1 | {"data":{"peerconnection":"74a26d63-f6e0-4a64-a85e-00eceb558f29","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/74a26d63-f6e0-4a64-a85e-00eceb558f29' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"74a26d63-f6e0-4a64-a85e-00eceb558f29","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":"e39027af115612f14ccb6ae8ceb42230","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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15"},{"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/1ff836c8-2985-48a0-86bd-addcbd22272b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"e39027af115612f14ccb6ae8ceb42230","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"e39027af115612f14ccb6ae8ceb42230"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b'"} device-1 | {"data":{"peerconnection":"74a26d63-f6e0-4a64-a85e-00eceb558f29","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"74a26d63-f6e0-4a64-a85e-00eceb558f29","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/74a26d63-f6e0-4a64-a85e-00eceb558f29' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"74a26d63-f6e0-4a64-a85e-00eceb558f29","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":"d18ca4ef6f6c3fc358de5871c640cb62","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15"},{"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/1ff836c8-2985-48a0-86bd-addcbd22272b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F74a26d63-f6e0-4a64-a85e-00eceb558f29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"225c40c0-7717-4f10-889e-138fe6f966bb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.52151} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.805852,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29","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":"19c034b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/74a26d63-f6e0-4a64-a85e-00eceb558f29 200 11ms","method":"GET","requestID":"19c034b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"d18ca4ef6f6c3fc358de5871c640cb62","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"d18ca4ef6f6c3fc358de5871c640cb62"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32a094e1-c835-498d-99e5-4cacd306aecd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.5499465} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.658149,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19c4a180-18ec-11ef-b4a6-53fbcbef7f4b"},"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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling 200 11ms","method":"POST","requestID":"19c4a180-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db2647da-8d8b-4689-932a-926fc9089398","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.5614386} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.770686,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19c67640-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling 200 11ms","method":"POST","requestID":"19c67640-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bdb459864d0eb9471f93e5afddde3572","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.301487,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458779,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4"} 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":"bdb459864d0eb9471f93e5afddde3572"},"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/922a5a57-2608-4ea2-bd32-47caa143bdbd"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdb459864d0eb9471f93e5afddde3572"} experiment-1 | {"level":"info","message":"GET /experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd 200 12ms","method":"GET","requestID":"bdb459864d0eb9471f93e5afddde3572","responseTime":12,"status":200,"url":"/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bd9efa2fcf72e98797ac02aa47cf459e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.301508,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458779,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4"} 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":"bd9efa2fcf72e98797ac02aa47cf459e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.408754,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458779,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4"} 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":"19d0d680-18ec-11ef-b4a6-53fbcbef7f4b"},"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/74a26d63-f6e0-4a64-a85e-00eceb558f29' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"74a26d63-f6e0-4a64-a85e-00eceb558f29","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":"d7753a7cf2455ac99a773c0867189f0e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F74a26d63-f6e0-4a64-a85e-00eceb558f29': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F74a26d63-f6e0-4a64-a85e-00eceb558f29","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"350d6512-96f2-4b70-826a-db894e7d481b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.6525364} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f16a9e8f-e798-4a7e-bcaf-120d6440a76b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.653079} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15"},{"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/1ff836c8-2985-48a0-86bd-addcbd22272b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ebdcaa88b053b2bd581174f629692a3","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"19d0d680-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15"},{"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/1ff836c8-2985-48a0-86bd-addcbd22272b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"74a26d63-f6e0-4a64-a85e-00eceb558f29","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/74a26d63-f6e0-4a64-a85e-00eceb558f29 204 66ms","method":"DELETE","requestID":"19d0d680-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":66,"status":204,"url":"/peerconnections/74a26d63-f6e0-4a64-a85e-00eceb558f29"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73c8391e-0ebe-4e8d-af64-2b75ff67dd15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfee7eda-2354-4bc6-add9-8de023197485","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.7289073} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.985541,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15","object_type":"device","rebac_allow":false,"scope_allow":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":"19dfa390-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F922a5a57-2608-4ea2-bd32-47caa143bdbd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F922a5a57-2608-4ea2-bd32-47caa143bdbd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"035b0a32-e8fe-4012-a785-accac16dc7b9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.7319927} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c05542f5-0c29-46f3-8bb7-e106f711d4f0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.7324955} 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":"bd9efa2fcf72e98797ac02aa47cf459e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling 200 16ms","method":"POST","requestID":"19dfa390-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/73c8391e-0ebe-4e8d-af64-2b75ff67dd15/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ff836c8-2985-48a0-86bd-addcbd22272b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbcc718e-2649-4df7-8581-9ea6c960e8c8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.748107} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.358556,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"19e2d7e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling 200 12ms","method":"POST","requestID":"19e2d7e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/1ff836c8-2985-48a0-86bd-addcbd22272b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd9efa2fcf72e98797ac02aa47cf459e"} experiment-1 | {"level":"info","message":"DELETE /experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd 204 192ms","method":"DELETE","requestID":"bd9efa2fcf72e98797ac02aa47cf459e","responseTime":192,"status":204,"url":"/experiments/922a5a57-2608-4ea2-bd32-47caa143bdbd"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.192","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0e96a38a99896c1e62aa05c340ea657c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"d7753a7cf2455ac99a773c0867189f0e","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7753a7cf2455ac99a773c0867189f0e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"5ebdcaa88b053b2bd581174f629692a3","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ebdcaa88b053b2bd581174f629692a3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ea6650c65b9458226fb7e5629574b404","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.762","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2d07a2219eee970f3d59a30272efde4c"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.83535,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458779,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4"} 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":"ea6650c65b9458226fb7e5629574b404"},"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/73c8391e-0ebe-4e8d-af64-2b75ff67dd15' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"05aab3ee-fecb-4ffc-b81f-b219f2d5c261","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.828703} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea6650c65b9458226fb7e5629574b404"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1ff836c8-2985-48a0-86bd-addcbd22272b' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b9129ed-d9e6-402f-937f-0f006de33c2a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.8335936} 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":"ea6650c65b9458226fb7e5629574b404"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"504cc821-400b-429e-b4d5-84c5bd856d11","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.844923} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26552e2c-4300-4970-90fb-e258cb835364","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.8450682} 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":"ea6650c65b9458226fb7e5629574b404"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.844895072Z"}]},"request_id":"8c705eec-a71e-438b-9729-db3da8a3ebdd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.8501847} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea6650c65b9458226fb7e5629574b404"},"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":"ea6650c65b9458226fb7e5629574b404","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea6650c65b9458226fb7e5629574b404"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aa5c18692162c615d2ee1a576a7e2cc9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.531706,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458779,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc3OX0.8wu5wrWJhH2d5bP_8j3NKzpGqD7tbeFu0HRg3Q86_Y4"} 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":"aa5c18692162c615d2ee1a576a7e2cc9"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fe5d1ea9-e7a8-42c8-98cb-1a4efa0deaa0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.8778334} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa5c18692162c615d2ee1a576a7e2cc9"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98db42e3-0422-49c8-9120-2a0656487290","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.883508} 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":"aa5c18692162c615d2ee1a576a7e2cc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"8eede3f5-56c7-42bc-ac95-b0f1b03b224c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.8945317} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00f7110b-bc5e-4d63-b838-d5eb7831980e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.8946068} 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":"aa5c18692162c615d2ee1a576a7e2cc9"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.894502731Z"}]},"request_id":"332dc780-c677-4938-affb-496bfce35e46","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458779.8988752} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa5c18692162c615d2ee1a576a7e2cc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa5c18692162c615d2ee1a576a7e2cc9"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"aa5c18692162c615d2ee1a576a7e2cc9","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MH0.wY9dz4goplec07yBU87fscNwL8aug1Fij0dVog2Hk1k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f8db65817769f98ba19865d83f5568af","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922841,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458780,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MH0.wY9dz4goplec07yBU87fscNwL8aug1Fij0dVog2Hk1k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8db65817769f98ba19865d83f5568af"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.844895072Z"}]},"request_id":"38b1b675-dcd5-4f44-90da-2af221ab0f76","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458780.3815768} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8db65817769f98ba19865d83f5568af"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7739256d-7b27-40ce-a1b5-d0c746d0bc56","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458780.3877532} 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":"f8db65817769f98ba19865d83f5568af"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.844895072Z"}]},"request_id":"a69a6402-bdce-496b-97ab-6c1748971a6f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458780.4215953} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8db65817769f98ba19865d83f5568af"},"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/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56 200 56ms","method":"PATCH","requestID":"f8db65817769f98ba19865d83f5568af","responseTime":56,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56"} gateway-1 | {"time_local":"23/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f8db65817769f98ba19865d83f5568af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MH0.wY9dz4goplec07yBU87fscNwL8aug1Fij0dVog2Hk1k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5e30562dd1b35ef9907940ac5d9ccc46","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998041,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458780,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MH0.wY9dz4goplec07yBU87fscNwL8aug1Fij0dVog2Hk1k"} 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":"5e30562dd1b35ef9907940ac5d9ccc46"},"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":"23/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5e30562dd1b35ef9907940ac5d9ccc46"} device-1 | {"level":"info","message":"POST /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/websocket 200 20ms","method":"POST","requestID":"5e30562dd1b35ef9907940ac5d9ccc46","responseTime":20,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56' 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":"e720ea2f18c43fd5cfa54aafaf9699b8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/aa946bbf-5be4-4336-9433-21a610a7a835/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":"e720ea2f18c43fd5cfa54aafaf9699b8"} device-1 | {"level":"info","message":"OPTIONS /devices/aa946bbf-5be4-4336-9433-21a610a7a835/websocket 200 1ms","method":"OPTIONS","requestID":"e720ea2f18c43fd5cfa54aafaf9699b8","responseTime":1,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MX0.6E0ahzWy8f9L4GlxXmY4AndFcJS39OxEsF5sJyc_gaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a30e7603910b448b30bf4837ebe09f4f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171082,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458781,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MX0.6E0ahzWy8f9L4GlxXmY4AndFcJS39OxEsF5sJyc_gaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a30e7603910b448b30bf4837ebe09f4f"},"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/aa946bbf-5be4-4336-9433-21a610a7a835/websocket 200 33ms","method":"POST","requestID":"a30e7603910b448b30bf4837ebe09f4f","responseTime":33,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/aa946bbf-5be4-4336-9433-21a610a7a835/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.039","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a30e7603910b448b30bf4837ebe09f4f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MX0.6E0ahzWy8f9L4GlxXmY4AndFcJS39OxEsF5sJyc_gaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"30e339e196e9fbf0f38cd43b1f9e9321","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235407,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458781,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MX0.6E0ahzWy8f9L4GlxXmY4AndFcJS39OxEsF5sJyc_gaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30e339e196e9fbf0f38cd43b1f9e9321"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.844895072Z"}]},"request_id":"6c0edf51-1202-4d18-975e-1c265615a468","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458781.9690557} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30e339e196e9fbf0f38cd43b1f9e9321"},"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/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56? 200 17ms","method":"GET","requestID":"30e339e196e9fbf0f38cd43b1f9e9321","responseTime":17,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56?"} gateway-1 | {"time_local":"23/May/2024:10:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30e339e196e9fbf0f38cd43b1f9e9321"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MX0.6E0ahzWy8f9L4GlxXmY4AndFcJS39OxEsF5sJyc_gaI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"88a6a2cc6c83ab178bbaade0886ee99c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:21Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645702,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458781,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4MX0.6E0ahzWy8f9L4GlxXmY4AndFcJS39OxEsF5sJyc_gaI"} 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":"88a6a2cc6c83ab178bbaade0886ee99c"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.894502731Z"}]},"request_id":"9d7f8ab6-f7af-474a-b42e-0e42c3fcdeb4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458781.9907253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88a6a2cc6c83ab178bbaade0886ee99c"},"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":"23/May/2024:10:06:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aa946bbf-5be4-4336-9433-21a610a7a835? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88a6a2cc6c83ab178bbaade0886ee99c"} device-1 | {"level":"info","message":"GET /devices/aa946bbf-5be4-4336-9433-21a610a7a835? 200 18ms","method":"GET","requestID":"88a6a2cc6c83ab178bbaade0886ee99c","responseTime":18,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"af8efd39ab05354efa04b3ce88b901a8","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:50018","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.477759,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} 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":"af8efd39ab05354efa04b3ce88b901a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"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:50018","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631873,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} 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":"1b4267e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881028,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b42b600-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.844895072Z"}]},"request_id":"27be72f4-ccdf-4323-a590-82d3e874e19d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.0545135} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b4267e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.894502731Z"}]},"request_id":"4a86577b-4620-4ab0-9059-9498d9db4617","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.0581293} 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":"1b42b600-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56? 200 12ms","method":"GET","requestID":"1b4267e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/aa946bbf-5be4-4336-9433-21a610a7a835? 200 15ms","method":"GET","requestID":"1b42b600-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"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/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.321473,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} 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":"1b4d1640-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.110307,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} 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":"1b4d6460-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.274739,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14f0a2a5-907e-47d1-a379-83e96146dcd9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1307592} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","rebac_allow":false,"scope_allow":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":"1b4db280-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling 200 20ms","method":"POST","requestID":"1b4db280-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.894502731Z"}]},"request_id":"495ec2a9-09cc-41a0-8e52-614fe8b1d9c2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1400385} 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":"1b4d6460-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.844895072Z"}]},"request_id":"f4c2d101-efcc-4d34-babd-fc66511f231c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1419582} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"1b4d1640-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F530f453e-351d-423e-a9fa-132969bcd25a#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F530f453e-351d-423e-a9fa-132969bcd25a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2534e7a4-0854-4491-b9ef-ec4760dbb85d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1450803} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edec23d6-0aea-4410-93aa-b50487cb5cd1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1455345} 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":"af8efd39ab05354efa04b3ce88b901a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/aa946bbf-5be4-4336-9433-21a610a7a835? 200 32ms","method":"GET","requestID":"1b4d6460-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":32,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"936bd67c-dab1-41d4-8e5c-01ead74a3f8d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.150914} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.481648,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} device-1 | {"level":"info","message":"GET /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56? 200 35ms","method":"GET","requestID":"1b4d1640-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":35,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"1b515c00-18ec-11ef-b4a6-53fbcbef7f4b"},"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/530f453e-351d-423e-a9fa-132969bcd25a","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af8efd39ab05354efa04b3ce88b901a8"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} device-1 | {"level":"info","message":"POST /devices/aa946bbf-5be4-4336-9433-21a610a7a835/signaling 200 14ms","method":"POST","requestID":"1b515c00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"af8efd39ab05354efa04b3ce88b901a8","responseTime":150,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8223566-638b-4042-a579-c0ca95b06fb7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1616776} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.098294,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","rebac_allow":false,"scope_allow":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":"1b5309b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf826cc15a522d8b94b0249bb61a4b25","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} device-1 | {"level":"info","message":"POST /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling 200 15ms","method":"POST","requestID":"1b5309b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.537993,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} 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":"bf826cc15a522d8b94b0249bb61a4b25"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.844895072Z"}]},"request_id":"5e90cc87-2bed-4777-9535-818266db3502","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1783993} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a920d39-b317-4a81-b8c4-f5c44a3d4daf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.1786833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf826cc15a522d8b94b0249bb61a4b25"},"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:50018","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.692487,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","rebac_allow":false,"scope_allow":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":"1b55c8d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf826cc15a522d8b94b0249bb61a4b25"} device-1 | {"level":"info","message":"GET /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56? 200 20ms","method":"GET","requestID":"bf826cc15a522d8b94b0249bb61a4b25","responseTime":20,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/aa946bbf-5be4-4336-9433-21a610a7a835/signaling 200 15ms","method":"POST","requestID":"1b55c8d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"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":"c40c15ec-2108-4b0b-9d93-fa2ad64bb9e0"},{"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":"c6b1c945-0031-4d75-b814-92c241150753"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"da7dced8-4761-40fc-bcf1-ae676a5ba7f8"}]},"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/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56"},{"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/aa946bbf-5be4-4336-9433-21a610a7a835"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dc15e13158c0d2906be6d748dbaa20c5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.06628,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} 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":"1b5887f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.120513,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458782,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Mn0.YtBZOqT79n3ITufXuhoKb7_IIjOWhsyS7wpUw4pGAZc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc15e13158c0d2906be6d748dbaa20c5"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:19.894502731Z"}]},"request_id":"1cf7f9c5-a76d-43ec-964d-f62b6d9c7963","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.203345} 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":"dc15e13158c0d2906be6d748dbaa20c5"},"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":"23/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aa946bbf-5be4-4336-9433-21a610a7a835? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc15e13158c0d2906be6d748dbaa20c5"} device-1 | {"level":"info","message":"GET /devices/aa946bbf-5be4-4336-9433-21a610a7a835? 200 16ms","method":"GET","requestID":"dc15e13158c0d2906be6d748dbaa20c5","responseTime":16,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"a2cba58b-d99d-49bf-93be-f6df4d995704","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.2100794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3aee560-0f36-461f-9664-05d5b860e174","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.2104254} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b5887f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef'"} 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":"1b5887f0-18ec-11ef-b4a6-53fbcbef7f4b","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/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7bf175ea-77be-4a32-9ac5-0400cbaf950a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.2735386} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.177168,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b6447c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling 200 10ms","method":"POST","requestID":"1b6447c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84e6cd55-849e-4a74-80e4-454f9b958b72","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458782.2863667} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.208942,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"1b664390-18ec-11ef-b4a6-53fbcbef7f4b"},"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/aa946bbf-5be4-4336-9433-21a610a7a835/signaling 200 10ms","method":"POST","requestID":"1b664390-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835/signaling"} device-1 | {"data":{"peerconnection":"11e6efc1-64a0-4d99-a331-15fc8798b3ef","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/11e6efc1-64a0-4d99-a331-15fc8798b3ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"11e6efc1-64a0-4d99-a331-15fc8798b3ef","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":"8e01921edb6995bf2df103f845f61252","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/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56"},{"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/aa946bbf-5be4-4336-9433-21a610a7a835"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"8e01921edb6995bf2df103f845f61252","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e01921edb6995bf2df103f845f61252"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835'"} device-1 | {"data":{"peerconnection":"11e6efc1-64a0-4d99-a331-15fc8798b3ef","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"11e6efc1-64a0-4d99-a331-15fc8798b3ef","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/11e6efc1-64a0-4d99-a331-15fc8798b3ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"11e6efc1-64a0-4d99-a331-15fc8798b3ef","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":"ba93a457d07a84014910b9e904aa2488","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56"},{"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/aa946bbf-5be4-4336-9433-21a610a7a835"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F11e6efc1-64a0-4d99-a331-15fc8798b3ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf61b8b6-c27d-4367-bbce-ae0fb3ab0f7e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.3976357} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.258616,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef","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":"1ca86080-18ec-11ef-b4a6-53fbcbef7f4b"},"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/11e6efc1-64a0-4d99-a331-15fc8798b3ef 200 11ms","method":"GET","requestID":"1ca86080-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"ba93a457d07a84014910b9e904aa2488","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"ba93a457d07a84014910b9e904aa2488"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"674d650a-b903-4021-b6d5-0de9296b942d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.429569} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.242425,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cad4280-18ec-11ef-b4a6-53fbcbef7f4b"},"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/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling 200 11ms","method":"POST","requestID":"1cad4280-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3569cba8-eea1-4ff1-9c1a-00014dc4eb48","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.443005} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.183878,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"1caf6560-18ec-11ef-b4a6-53fbcbef7f4b"},"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/aa946bbf-5be4-4336-9433-21a610a7a835/signaling 200 10ms","method":"POST","requestID":"1caf6560-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f9395d12fc81c3cda3c0186b9deead68","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/530f453e-351d-423e-a9fa-132969bcd25a"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.304068,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458784,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM"} 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":"f9395d12fc81c3cda3c0186b9deead68"},"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/530f453e-351d-423e-a9fa-132969bcd25a"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/530f453e-351d-423e-a9fa-132969bcd25a HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9395d12fc81c3cda3c0186b9deead68"} experiment-1 | {"level":"info","message":"GET /experiments/530f453e-351d-423e-a9fa-132969bcd25a 200 15ms","method":"GET","requestID":"f9395d12fc81c3cda3c0186b9deead68","responseTime":15,"status":200,"url":"/experiments/530f453e-351d-423e-a9fa-132969bcd25a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"99900796aaac33a73bba9b71f932c131","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/530f453e-351d-423e-a9fa-132969bcd25a"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.271303,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458784,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM"} 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":"99900796aaac33a73bba9b71f932c131"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.128646,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458784,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM"} 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":"1cba3ad0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/11e6efc1-64a0-4d99-a331-15fc8798b3ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"11e6efc1-64a0-4d99-a331-15fc8798b3ef","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ad1dbe3de085e7d787d99b0e0086db9","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":"closed","url":"http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56"},{"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/aa946bbf-5be4-4336-9433-21a610a7a835"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F11e6efc1-64a0-4d99-a331-15fc8798b3ef': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F11e6efc1-64a0-4d99-a331-15fc8798b3ef","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"1b830f9f-7537-478f-a33e-5487bbb57794","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.5352306} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fab754be-0a8e-4ef8-82b1-080fde962f8f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.536629} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f200222a3cf6cdb59d7a2afe6238a51f","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":"1cba3ad0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"closed","url":"http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56"},{"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/aa946bbf-5be4-4336-9433-21a610a7a835"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"11e6efc1-64a0-4d99-a331-15fc8798b3ef","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/11e6efc1-64a0-4d99-a331-15fc8798b3ef 204 61ms","method":"DELETE","requestID":"1cba3ad0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":61,"status":204,"url":"/peerconnections/11e6efc1-64a0-4d99-a331-15fc8798b3ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/530f453e-351d-423e-a9fa-132969bcd25a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d09e91d5-16ea-4f17-ae25-cffb4b837af4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.6030939} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.8222,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56","object_type":"device","rebac_allow":false,"scope_allow":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":"1cc70c10-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F530f453e-351d-423e-a9fa-132969bcd25a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F530f453e-351d-423e-a9fa-132969bcd25a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"fd2884d4-d210-4c03-b3b4-1c1f820d7ec4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.6106043} device-1 | {"level":"info","message":"POST /devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/signaling 200 17ms","method":"POST","requestID":"1cc70c10-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56/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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffa99b8f-e902-4388-a298-82e9c038e89d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.6113338} 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":"99900796aaac33a73bba9b71f932c131"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa946bbf-5be4-4336-9433-21a610a7a835","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e763e50a-8de1-4183-b6b7-f1dade75755b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.6257296} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.017978,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa946bbf-5be4-4336-9433-21a610a7a835","object_type":"device","rebac_allow":false,"scope_allow":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":"1cca6770-18ec-11ef-b4a6-53fbcbef7f4b"},"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/aa946bbf-5be4-4336-9433-21a610a7a835/signaling 200 19ms","method":"POST","requestID":"1cca6770-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/aa946bbf-5be4-4336-9433-21a610a7a835/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/530f453e-351d-423e-a9fa-132969bcd25a"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/530f453e-351d-423e-a9fa-132969bcd25a 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":"99900796aaac33a73bba9b71f932c131"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3231","request_time":"4.221","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"091506a14350f12c2d0e08c905627b1f"} experiment-1 | {"level":"info","message":"DELETE /experiments/530f453e-351d-423e-a9fa-132969bcd25a 204 183ms","method":"DELETE","requestID":"99900796aaac33a73bba9b71f932c131","responseTime":183,"status":204,"url":"/experiments/530f453e-351d-423e-a9fa-132969bcd25a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"1ad1dbe3de085e7d787d99b0e0086db9","responseTime":141,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"f200222a3cf6cdb59d7a2afe6238a51f","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"f200222a3cf6cdb59d7a2afe6238a51f"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"1ad1dbe3de085e7d787d99b0e0086db9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2ad753777d919038154e6a5606b1f1a0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.758","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"51e9ac190c38115b5b14c905e62568f4"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1bbcbef4-c2c7-4064-8d0d-25f1243d5c56' closed"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.923975,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458784,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM"} 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":"2ad753777d919038154e6a5606b1f1a0"},"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/aa946bbf-5be4-4336-9433-21a610a7a835' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0d2051f6-2965-453b-bf6f-e4ed9c67d1fd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7051158} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ad753777d919038154e6a5606b1f1a0"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"156b25cf-4d82-4e65-ad9e-c1dd5d4e06e5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7102897} 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":"2ad753777d919038154e6a5606b1f1a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"3656dd5d-828d-4156-943d-63cd87684688","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7202077} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7a65e54-e357-4515-9e68-13bf2834807f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7204309} 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":"2ad753777d919038154e6a5606b1f1a0"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.720187203Z"}]},"request_id":"9d72f20c-2580-4c6a-8d3a-454d0e7fdf58","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7248657} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ad753777d919038154e6a5606b1f1a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ad753777d919038154e6a5606b1f1a0"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"2ad753777d919038154e6a5606b1f1a0","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"92dc2237f4831aa3039d6b34e42ec95f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.784165,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458784,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NH0.FHdIY7f-OHMnBaThThzc9P9eZFvHUazfeVs7JcAzAgM"} 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":"92dc2237f4831aa3039d6b34e42ec95f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f2273f28-8d47-4db9-9f27-70eb3795963b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7494} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92dc2237f4831aa3039d6b34e42ec95f"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"971686b2-7b20-43d1-b3c5-89a1898c3129","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7543058} 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":"92dc2237f4831aa3039d6b34e42ec95f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"8358e5cb-4b95-4b4d-978f-0b02920427df","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7639723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69ff6f5d-e895-403f-83a7-06ede8a9a7af","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7641332} 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":"92dc2237f4831aa3039d6b34e42ec95f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.763946951Z"}]},"request_id":"71e8c583-863b-4e24-869a-d811471cf451","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458784.7685068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92dc2237f4831aa3039d6b34e42ec95f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92dc2237f4831aa3039d6b34e42ec95f"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"92dc2237f4831aa3039d6b34e42ec95f","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NX0.IIbk6NU7G1Clh8y7VW3Q786AwYcpLxIbWYOKrHL1ASE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aea5f8e5df644e987a2d79a5407198a3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:25Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732587,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458785,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NX0.IIbk6NU7G1Clh8y7VW3Q786AwYcpLxIbWYOKrHL1ASE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aea5f8e5df644e987a2d79a5407198a3"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.720187203Z"}]},"request_id":"dcaefd13-947f-46b9-aab2-21e93b876b7b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458785.257473} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aea5f8e5df644e987a2d79a5407198a3"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2950021b-7fdb-4a4c-b8ab-edda6c72468b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458785.2646441} 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":"aea5f8e5df644e987a2d79a5407198a3"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.720187203Z"}]},"request_id":"8c46027d-4d2a-4e4e-8e05-201d613e9ce7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458785.2817688} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aea5f8e5df644e987a2d79a5407198a3"},"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":"23/May/2024:10:06:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f9606a60-9a25-4eca-ae11-35c153980546 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"aea5f8e5df644e987a2d79a5407198a3"} device-1 | {"level":"info","message":"PATCH /devices/f9606a60-9a25-4eca-ae11-35c153980546 200 41ms","method":"PATCH","requestID":"aea5f8e5df644e987a2d79a5407198a3","responseTime":41,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NX0.IIbk6NU7G1Clh8y7VW3Q786AwYcpLxIbWYOKrHL1ASE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9872ba96b8ca40587f2dd529a03cbab4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:25Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191958,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458785,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4NX0.IIbk6NU7G1Clh8y7VW3Q786AwYcpLxIbWYOKrHL1ASE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9872ba96b8ca40587f2dd529a03cbab4"},"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":"23/May/2024:10:06:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9606a60-9a25-4eca-ae11-35c153980546/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9872ba96b8ca40587f2dd529a03cbab4"} device-1 | {"level":"info","message":"POST /devices/f9606a60-9a25-4eca-ae11-35c153980546/websocket 200 23ms","method":"POST","requestID":"9872ba96b8ca40587f2dd529a03cbab4","responseTime":23,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546' 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":"8b75ca3105f51b009a9de61546cf2987","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/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":"8b75ca3105f51b009a9de61546cf2987"} device-1 | {"level":"info","message":"OPTIONS /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/websocket 200 1ms","method":"OPTIONS","requestID":"8b75ca3105f51b009a9de61546cf2987","responseTime":1,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7d6df3f660f9751a1ea7231caddb712a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24967,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d6df3f660f9751a1ea7231caddb712a"},"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/cfcb5580-9a72-409d-8cfb-99a242677ccd/websocket 200 44ms","method":"POST","requestID":"7d6df3f660f9751a1ea7231caddb712a","responseTime":44,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7d6df3f660f9751a1ea7231caddb712a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a5b97d8532d7dbb2ea9f72c986a92598","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136748,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5b97d8532d7dbb2ea9f72c986a92598"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.720187203Z"}]},"request_id":"2d33118c-6195-4ae4-92ed-b275402919b1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458786.852872} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5b97d8532d7dbb2ea9f72c986a92598"},"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":"23/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9606a60-9a25-4eca-ae11-35c153980546? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5b97d8532d7dbb2ea9f72c986a92598"} device-1 | {"level":"info","message":"GET /devices/f9606a60-9a25-4eca-ae11-35c153980546? 200 18ms","method":"GET","requestID":"a5b97d8532d7dbb2ea9f72c986a92598","responseTime":18,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"661d568b4e7297a164857f1f140af568","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311144,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"661d568b4e7297a164857f1f140af568"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.763946951Z"}]},"request_id":"183a7c7c-22a4-430b-8e49-30d0a4c8bf01","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458786.8788388} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"661d568b4e7297a164857f1f140af568"},"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":"23/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"661d568b4e7297a164857f1f140af568"} device-1 | {"level":"info","message":"GET /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd? 200 18ms","method":"GET","requestID":"661d568b4e7297a164857f1f140af568","responseTime":18,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9c96009e4a39ffc76428a20559fa9c25","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:50018","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.1031,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} 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":"9c96009e4a39ffc76428a20559fa9c25"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"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:50018","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.867481,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e2feae0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704854,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e303900-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.720187203Z"}]},"request_id":"c38101a2-39a6-49b3-b6ba-a0c9a6210e5d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458786.9698288} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e2feae0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.763946951Z"}]},"request_id":"20a9974e-db53-4765-bfc4-74e358fc0795","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458786.9708743} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e303900-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f9606a60-9a25-4eca-ae11-35c153980546? 200 16ms","method":"GET","requestID":"1e2feae0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd? 200 15ms","method":"GET","requestID":"1e303900-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"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:50018","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200183,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} 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":"1e3a2410-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.321154,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} 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":"1e3a7230-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:35358","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.763946951Z"}]},"request_id":"b5d031ff-b115-45cf-8bea-dcb544e4fde2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.042951} 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":"1e3a7230-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.720187203Z"}]},"request_id":"e9ff714c-8856-4bea-bce1-f670db9ccf43","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.0449042} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4385329-5333-4ebc-a8e4-253c225113af","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.0461025} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"1e3a2410-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11667225-377a-43f6-b39c-653bedb55409#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11667225-377a-43f6-b39c-653bedb55409","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f3f49173-37ba-4787-b639-9385b0598a06","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.0485246} device-1 | {"level":"info","message":"GET /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd? 200 23ms","method":"GET","requestID":"1e3a7230-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40acda3a-38c5-4a70-b14c-393e93732d82","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.049243} authorization-1 | {"client_addr":"127.0.0.1:35358","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.43838,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e3ac050-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} 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":"9c96009e4a39ffc76428a20559fa9c25"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f9606a60-9a25-4eca-ae11-35c153980546? 200 33ms","method":"GET","requestID":"1e3a2410-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":33,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f9606a60-9a25-4eca-ae11-35c153980546/signaling 200 31ms","method":"POST","requestID":"1e3ac050-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":31,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfcaaea5-51f5-4546-9aee-13e09ea1dc7d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.0692585} gateway-1 | {"time_local":"23/May/2024:10:06:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c96009e4a39ffc76428a20559fa9c25"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"9c96009e4a39ffc76428a20559fa9c25","responseTime":176,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.595869,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"1e3ff070-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"779f7f3f-ecbf-4294-b74f-ce98a679e4ae","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.0732977} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.792359,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4N30.ap3LPxbwKRfHeDmWeccNpI9ynIlXuh92NfXv8xI2kJ8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd9208ca2042af413e23ff499f12375e","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","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 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e40b3c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/f9606a60-9a25-4eca-ae11-35c153980546/signaling 200 13ms","method":"POST","requestID":"1e3ff070-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928351,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458787,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4N30.ap3LPxbwKRfHeDmWeccNpI9ynIlXuh92NfXv8xI2kJ8"} 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":"bd9208ca2042af413e23ff499f12375e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling 200 16ms","method":"POST","requestID":"1e40b3c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cd4a7e4-63b6-4fd7-a450-70ecb34cf773","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.085132} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.720187203Z"}]},"request_id":"7fbc28f2-6562-436b-8233-ea1ddd3c5d57","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.085823} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd9208ca2042af413e23ff499f12375e"},"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:50018","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.145613,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","rebac_allow":false,"scope_allow":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":"1e426170-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:06:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9606a60-9a25-4eca-ae11-35c153980546? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd9208ca2042af413e23ff499f12375e"} device-1 | {"level":"info","message":"GET /devices/f9606a60-9a25-4eca-ae11-35c153980546? 200 14ms","method":"GET","requestID":"bd9208ca2042af413e23ff499f12375e","responseTime":14,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling 200 13ms","method":"POST","requestID":"1e426170-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"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":"a06503d1-3467-4aff-b60d-644f0407f9e6"},{"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":"f3c0c13f-d89b-479a-9ccf-863b17031734"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"95d91c37-1d61-4253-a168-d1a850308e97"}]},"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/cfcb5580-9a72-409d-8cfb-99a242677ccd"},{"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/f9606a60-9a25-4eca-ae11-35c153980546"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4N30.ap3LPxbwKRfHeDmWeccNpI9ynIlXuh92NfXv8xI2kJ8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c852acffb2d538f5964a0919c38c170b","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:50018","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.664481,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458786,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4Nn0.0cm37hOZ0r5oS5M5u-tQRlUtt3Zd_UbVEAakTLayXaA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e44d270-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.546083,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458787,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4N30.ap3LPxbwKRfHeDmWeccNpI9ynIlXuh92NfXv8xI2kJ8"} 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":"c852acffb2d538f5964a0919c38c170b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:24.763946951Z"}]},"request_id":"ecdbac3f-e130-4864-805b-e1c16d8be23c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.1035163} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c852acffb2d538f5964a0919c38c170b"},"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/cfcb5580-9a72-409d-8cfb-99a242677ccd? 200 9ms","method":"GET","requestID":"c852acffb2d538f5964a0919c38c170b","responseTime":9,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd?"} gateway-1 | {"time_local":"23/May/2024:10:06:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfcb5580-9a72-409d-8cfb-99a242677ccd? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c852acffb2d538f5964a0919c38c170b"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"1716b5b2-0ae4-4b51-8855-072cff988988","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.107028} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"163ee493-3c94-434d-a45a-ed15d4bd2623","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.107309} 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":"1e44d270-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35'"} 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":"1e44d270-18ec-11ef-b4a6-53fbcbef7f4b","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/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ecdae1c-273b-4d70-898b-68a6e34a52f4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.1696508} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.409729,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e4f80d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f9606a60-9a25-4eca-ae11-35c153980546/signaling 200 9ms","method":"POST","requestID":"1e4f80d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d42cd9f6-1ef9-403a-a432-9f49c8527afe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458787.1810672} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897389,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e512e80-18ec-11ef-b4a6-53fbcbef7f4b"},"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/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling 200 10ms","method":"POST","requestID":"1e512e80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling"} device-1 | {"data":{"peerconnection":"acd8dfd8-fd5a-437c-8bc1-054a2b643b35","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/acd8dfd8-fd5a-437c-8bc1-054a2b643b35' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"acd8dfd8-fd5a-437c-8bc1-054a2b643b35","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":"a976dd4442457a0aa2231d9a3066b01b","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd'"} 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/cfcb5580-9a72-409d-8cfb-99a242677ccd"},{"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/f9606a60-9a25-4eca-ae11-35c153980546"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a976dd4442457a0aa2231d9a3066b01b","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"a976dd4442457a0aa2231d9a3066b01b"} device-1 | {"data":{"peerconnection":"acd8dfd8-fd5a-437c-8bc1-054a2b643b35","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"acd8dfd8-fd5a-437c-8bc1-054a2b643b35","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"acd8dfd8-fd5a-437c-8bc1-054a2b643b35","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":"474737d9859bda123691cf6decf2c099","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd"},{"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/f9606a60-9a25-4eca-ae11-35c153980546"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Facd8dfd8-fd5a-437c-8bc1-054a2b643b35","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42acfe70-16e4-47d6-a308-42556de77513","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.349049} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.380368,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35","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":"1f9bfe00-18ec-11ef-b4a6-53fbcbef7f4b"},"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/acd8dfd8-fd5a-437c-8bc1-054a2b643b35 200 10ms","method":"GET","requestID":"1f9bfe00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"474737d9859bda123691cf6decf2c099","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"474737d9859bda123691cf6decf2c099"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ca33129-0d18-4a24-b5bf-53ac83df558d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.3779814} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.333514,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fa043c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling 200 12ms","method":"POST","requestID":"1fa043c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1cb7a3b9-d217-48a1-91c3-e8ab77466854","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.3912942} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.381882,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","rebac_allow":false,"scope_allow":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":"1fa266a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f9606a60-9a25-4eca-ae11-35c153980546/signaling 200 12ms","method":"POST","requestID":"1fa266a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c675d99b976e75605bc7e5eeafe6949f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/11667225-377a-43f6-b39c-653bedb55409"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.320949,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458789,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8"} 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":"c675d99b976e75605bc7e5eeafe6949f"},"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/11667225-377a-43f6-b39c-653bedb55409"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/11667225-377a-43f6-b39c-653bedb55409 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c675d99b976e75605bc7e5eeafe6949f"} experiment-1 | {"level":"info","message":"GET /experiments/11667225-377a-43f6-b39c-653bedb55409 200 16ms","method":"GET","requestID":"c675d99b976e75605bc7e5eeafe6949f","responseTime":16,"status":200,"url":"/experiments/11667225-377a-43f6-b39c-653bedb55409"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2325e1ff0d2d863ff61d681a6dcef34","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/11667225-377a-43f6-b39c-653bedb55409"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.103951,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458789,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8"} 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":"b2325e1ff0d2d863ff61d681a6dcef34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.219519,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458789,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8"} 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":"1faec2b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/acd8dfd8-fd5a-437c-8bc1-054a2b643b35' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"acd8dfd8-fd5a-437c-8bc1-054a2b643b35","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Facd8dfd8-fd5a-437c-8bc1-054a2b643b35': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Facd8dfd8-fd5a-437c-8bc1-054a2b643b35","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"5157d43c-838a-48bc-8a3e-4f1304253be4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.4928343} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c46d68b572c816914817c0be9d839a6f","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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62bfdc60-1e3a-441e-9216-938cda954c15","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.4933066} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1faec2b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"daec35b9240f752697d2a1bf99cbf51f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd"},{"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/f9606a60-9a25-4eca-ae11-35c153980546"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35"}}},"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":"connected","url":"http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd"},{"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/f9606a60-9a25-4eca-ae11-35c153980546"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"acd8dfd8-fd5a-437c-8bc1-054a2b643b35","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/acd8dfd8-fd5a-437c-8bc1-054a2b643b35 204 65ms","method":"DELETE","requestID":"1faec2b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":65,"status":204,"url":"/peerconnections/acd8dfd8-fd5a-437c-8bc1-054a2b643b35"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/11667225-377a-43f6-b39c-653bedb55409"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfcb5580-9a72-409d-8cfb-99a242677ccd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"426a739f-8ce0-4eca-8d32-2c74a37975a4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.5651927} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.749858,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd","object_type":"device","rebac_allow":false,"scope_allow":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":"1fbca560-18ec-11ef-b4a6-53fbcbef7f4b"},"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/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling 200 16ms","method":"POST","requestID":"1fbca560-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11667225-377a-43f6-b39c-653bedb55409': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F11667225-377a-43f6-b39c-653bedb55409","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"e0e4bb26-0da4-4e77-8e30-4c7cd1450fbb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.5745478} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf554c83-7140-43e3-9315-8eee792b409a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.575168} 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":"b2325e1ff0d2d863ff61d681a6dcef34"},"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:50018","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9606a60-9a25-4eca-ae11-35c153980546","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f7a4e91-b8ff-48ae-98c3-62dd7fd3667a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.584259} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.836084,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9606a60-9a25-4eca-ae11-35c153980546","object_type":"device","rebac_allow":false,"scope_allow":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":"1fbf8b90-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f9606a60-9a25-4eca-ae11-35c153980546/signaling 200 15ms","method":"POST","requestID":"1fbf8b90-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/f9606a60-9a25-4eca-ae11-35c153980546/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/11667225-377a-43f6-b39c-653bedb55409"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/11667225-377a-43f6-b39c-653bedb55409 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2325e1ff0d2d863ff61d681a6dcef34"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2838","request_time":"4.323","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c1a5f5aff7d79e366154c12ef56a088d"} experiment-1 | {"level":"info","message":"DELETE /experiments/11667225-377a-43f6-b39c-653bedb55409 204 187ms","method":"DELETE","requestID":"b2325e1ff0d2d863ff61d681a6dcef34","responseTime":187,"status":204,"url":"/experiments/11667225-377a-43f6-b39c-653bedb55409"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"c46d68b572c816914817c0be9d839a6f","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"c46d68b572c816914817c0be9d839a6f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"daec35b9240f752697d2a1bf99cbf51f","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"daec35b9240f752697d2a1bf99cbf51f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cb18107780a88b04d242502e232b9c61","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.832","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c1443a096bd9f96085aed89242318e63"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.984265,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458789,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8"} 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":"cb18107780a88b04d242502e232b9c61"},"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/f9606a60-9a25-4eca-ae11-35c153980546' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6304445c-b99f-4fc2-b167-afcbe3f1af73","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.6655724} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb18107780a88b04d242502e232b9c61"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f501fd19-7cf5-4d8c-877d-21f5ed83e40b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.671916} 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":"cb18107780a88b04d242502e232b9c61"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cfcb5580-9a72-409d-8cfb-99a242677ccd' closed"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"068eb8e8-02b6-4838-938b-94d39055dc22","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.6821756} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc750559-f6b6-4fce-b139-b8e919c79975","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.6822822} 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":"cb18107780a88b04d242502e232b9c61"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.682147246Z"}]},"request_id":"caac09ed-bee5-4038-b829-fea3d14373c8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.6869462} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb18107780a88b04d242502e232b9c61"},"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":"cb18107780a88b04d242502e232b9c61","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb18107780a88b04d242502e232b9c61"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2cf45f86aef9cbde51005e6a32bb7ef2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.834845,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458789,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc4OX0.56GNVQI2vDJccyX7whZA33PoCLgpLZ6EiwqcBRVf2w8"} 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":"2cf45f86aef9cbde51005e6a32bb7ef2"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"60730de5-57bc-4619-a315-00780a1c3f7a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.7123904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cf45f86aef9cbde51005e6a32bb7ef2"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72259f43-a0f6-4fee-bdd0-b6d50f0f3d57","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.7175424} 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":"2cf45f86aef9cbde51005e6a32bb7ef2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccd528a4-133c-47a6-8703-49409b6f0840","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.727343} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"0f963baa-ed6b-4f93-9af2-2e371f735fa9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.7289898} 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":"2cf45f86aef9cbde51005e6a32bb7ef2"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.728960033Z"}]},"request_id":"9e591ced-40eb-4cdf-863a-617144bfb49b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458789.7337694} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cf45f86aef9cbde51005e6a32bb7ef2"},"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":"2cf45f86aef9cbde51005e6a32bb7ef2","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cf45f86aef9cbde51005e6a32bb7ef2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"24b5cfefe53f9198ba0fbd859e14a020","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cdb4412b7fbf066881c82bec77948cf8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.732045,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} 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":"24b5cfefe53f9198ba0fbd859e14a020"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990418,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdb4412b7fbf066881c82bec77948cf8"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.682147246Z"}]},"request_id":"daa992e8-a2a4-40f5-9260-0534b72c2899","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.2304835} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24b5cfefe53f9198ba0fbd859e14a020"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.728960033Z"}]},"request_id":"6bc483e5-0c20-43e4-a5cb-789df620b7d2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.2310455} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdb4412b7fbf066881c82bec77948cf8"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"498b230e-ae35-4c5f-a583-126daba6f7b2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.235721} 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":"24b5cfefe53f9198ba0fbd859e14a020"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1eb5ed14-bfec-403d-bff5-93a5852f1d4c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.2365856} 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":"cdb4412b7fbf066881c82bec77948cf8"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.728960033Z"}]},"request_id":"6947084b-2f24-4af2-bc39-c0cde7d83600","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.240436} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdb4412b7fbf066881c82bec77948cf8"},"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":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cdb4412b7fbf066881c82bec77948cf8"} device-1 | {"level":"info","message":"PATCH /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8 200 27ms","method":"PATCH","requestID":"cdb4412b7fbf066881c82bec77948cf8","responseTime":27,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1f8cf9e8d1f02d4fef0ea75cc273f80","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.682147246Z"}]},"request_id":"726d2b5e-9a21-4b25-b879-c1057879966e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.2500901} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24b5cfefe53f9198ba0fbd859e14a020"},"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:50018","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66545,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"24b5cfefe53f9198ba0fbd859e14a020"} device-1 | {"level":"info","message":"PATCH /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a 200 40ms","method":"PATCH","requestID":"24b5cfefe53f9198ba0fbd859e14a020","responseTime":40,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1f8cf9e8d1f02d4fef0ea75cc273f80"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf12563e4edb43251721a2d47a0d67b9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692131,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} 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":"cf12563e4edb43251721a2d47a0d67b9"},"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":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e1f8cf9e8d1f02d4fef0ea75cc273f80"} device-1 | {"level":"info","message":"POST /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/websocket 200 16ms","method":"POST","requestID":"e1f8cf9e8d1f02d4fef0ea75cc273f80","responseTime":16,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cf12563e4edb43251721a2d47a0d67b9"} device-1 | {"level":"info","message":"POST /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/websocket 200 18ms","method":"POST","requestID":"cf12563e4edb43251721a2d47a0d67b9","responseTime":18,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3cec7f9424d4ed4e505438aeaf18592f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718507,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} 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":"3cec7f9424d4ed4e505438aeaf18592f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.682147246Z"}]},"request_id":"3f52ed4b-78eb-437f-9e12-477d1f171d62","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.306453} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cec7f9424d4ed4e505438aeaf18592f"},"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":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cec7f9424d4ed4e505438aeaf18592f"} device-1 | {"level":"info","message":"GET /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a? 200 12ms","method":"GET","requestID":"3cec7f9424d4ed4e505438aeaf18592f","responseTime":12,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3fc458c12595a4e5bea25bb8db028482","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.049489,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} 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":"3fc458c12595a4e5bea25bb8db028482"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.728960033Z"}]},"request_id":"c092fc96-d20c-4b54-8685-794b36c2e3bb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.3232071} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fc458c12595a4e5bea25bb8db028482"},"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":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fc458c12595a4e5bea25bb8db028482"} device-1 | {"level":"info","message":"GET /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8? 200 11ms","method":"GET","requestID":"3fc458c12595a4e5bea25bb8db028482","responseTime":11,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8b92b78badbd3c4d9ef383248c61428c","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:50018","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.770601,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} 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":"8b92b78badbd3c4d9ef383248c61428c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"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:50018","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194888,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"203b2430-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924107,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"203b7250-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.682147246Z"}]},"request_id":"0caaa884-292b-41da-b367-faa25fcde7ab","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.396215} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"203b2430-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.728960033Z"}]},"request_id":"0fb97208-8c78-48ed-9eea-832448660cc3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.3976822} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"203b7250-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7e6eadaa-04f5-4558-8ece-260c17078a8a? 200 17ms","method":"GET","requestID":"203b2430-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8? 200 17ms","method":"GET","requestID":"203b7250-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"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:50018","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.367212,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20473220-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.413824,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} 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":"20478040-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01643593-062e-420e-aa48-3b20225acf12","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.4821537} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.682147246Z"}]},"request_id":"7098ea1b-2afa-41f3-b8b9-20457dc61e7d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.485263} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.014998,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.728960033Z"}]},"request_id":"55f312fd-b0ec-4d9e-aedd-bf30a4e5b540","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.4868753} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","rebac_allow":false,"scope_allow":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":"2047f570-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} 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":"20473220-18ec-11ef-b4a6-53fbcbef7f4b"},"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 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":"20478040-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2e5892f7-e658-47f8-9f0f-1b32118e847b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.4973538} device-1 | {"level":"info","message":"POST /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling 200 26ms","method":"POST","requestID":"2047f570-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"799abcd2-bc31-41a3-9d98-4ef4828475bc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.4979253} device-1 | {"level":"info","message":"GET /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a? 200 35ms","method":"GET","requestID":"20473220-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":35,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a?"} 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":"8b92b78badbd3c4d9ef383248c61428c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8? 200 38ms","method":"GET","requestID":"20478040-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":38,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31311a70-77cd-4012-aaf2-83242fe89860","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.5093987} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.642726,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","rebac_allow":false,"scope_allow":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":"204cb060-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b92b78badbd3c4d9ef383248c61428c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"8b92b78badbd3c4d9ef383248c61428c","responseTime":184,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b870da0-8251-4564-a9ed-67aab60b6269","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.5180552} device-1 | {"level":"info","message":"POST /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling 200 16ms","method":"POST","requestID":"204cb060-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.13578,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","rebac_allow":false,"scope_allow":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":"204e0ff0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"446f02d6d4d9c7a693a3bf2be1381ffa","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/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling 200 16ms","method":"POST","requestID":"204e0ff0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204423,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"446f02d6d4d9c7a693a3bf2be1381ffa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb898484-c159-4e4e-8e6f-ff227d4fd548","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.5349612} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.663658,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2050f620-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.682147246Z"}]},"request_id":"e610e4c6-956e-4ba8-ac60-d8321e8bf69e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.5360107} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"446f02d6d4d9c7a693a3bf2be1381ffa"},"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling 200 12ms","method":"POST","requestID":"2050f620-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"446f02d6d4d9c7a693a3bf2be1381ffa"} device-1 | {"level":"info","message":"GET /devices/7e6eadaa-04f5-4558-8ece-260c17078a8a? 200 19ms","method":"GET","requestID":"446f02d6d4d9c7a693a3bf2be1381ffa","responseTime":19,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"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":"23960948-9cd7-4849-b1e1-6d9fb736c9c1"},{"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":"602a87c3-7d77-49f3-aeeb-b9745e702b29"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7bb0faff-5f6e-4fbe-ac8b-c955571b132f"}]},"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/7e6eadaa-04f5-4558-8ece-260c17078a8a"},{"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.865515,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"34d7a4605b68261999ace6fb7d9c3362","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20534010-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863736,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458790,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5MH0.IElXWk97FFv3L6rlm0YZb5d6GOWlhcQZ4xL6Pk_v7Uo"} 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":"34d7a4605b68261999ace6fb7d9c3362"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:29.728960033Z"}]},"request_id":"a2943fac-2752-4e8e-b7f1-9384b4daeee9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.5581048} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34d7a4605b68261999ace6fb7d9c3362"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"28e01b69-995f-4160-bcf7-09eab65934af","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.5611665} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34d7a4605b68261999ace6fb7d9c3362"} device-1 | {"level":"info","message":"GET /devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8? 200 12ms","method":"GET","requestID":"34d7a4605b68261999ace6fb7d9c3362","responseTime":12,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4514503c-bf84-453a-98ef-aec7b5c59b3e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.5615025} 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":"20534010-18ec-11ef-b4a6-53fbcbef7f4b"},"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/8680da9a-5a2c-4d00-b38c-9e1b30479082'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"20534010-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf08eb51-a061-41ca-a1f3-26895fba0341","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.6241934} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.203415,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"205e8ab0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling 200 11ms","method":"POST","requestID":"205e8ab0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d8feb48-07c0-4cdd-b571-ffa2b04263be","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458790.6390293} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.128807,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"2060ad90-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling 200 12ms","method":"POST","requestID":"2060ad90-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling"} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","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/8680da9a-5a2c-4d00-b38c-9e1b30479082' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","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":"b65b87215de07431b16b9bd479f3dc6f","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/7e6eadaa-04f5-4558-8ece-260c17078a8a"},{"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"b65b87215de07431b16b9bd479f3dc6f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"b65b87215de07431b16b9bd479f3dc6f"} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","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":"ae6554b34be6d67a9f327d509257abf8","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/7e6eadaa-04f5-4558-8ece-260c17078a8a"},{"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8680da9a-5a2c-4d00-b38c-9e1b30479082","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e43d504c-7a0e-4810-85ca-53f1cb9f7280","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.7158322} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.650301,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082","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":"219d7350-18ec-11ef-b4a6-53fbcbef7f4b"},"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/8680da9a-5a2c-4d00-b38c-9e1b30479082 200 13ms","method":"GET","requestID":"219d7350-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"ae6554b34be6d67a9f327d509257abf8","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae6554b34be6d67a9f327d509257abf8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f747ea5-e104-46ca-a77d-911e80a9f14c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.7519007} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.123909,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","rebac_allow":false,"scope_allow":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":"21a2a370-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling 200 16ms","method":"POST","requestID":"21a2a370-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10d13f92-a485-48f7-8c1e-4bfc53baaa74","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.768964} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.846007,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","rebac_allow":false,"scope_allow":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":"21a589a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling 200 14ms","method":"POST","requestID":"21a589a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Mn0.c6HFSVPVgSHjinDR7rnqSJLsCQi2D0eK4CEDMe1Pw7U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6189ca695a24634f6d7c6587be3af410","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.230306,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458792,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Mn0.c6HFSVPVgSHjinDR7rnqSJLsCQi2D0eK4CEDMe1Pw7U"} 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":"6189ca695a24634f6d7c6587be3af410"},"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/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"} experiment-1 | {"level":"info","message":"GET /experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c 200 16ms","method":"GET","requestID":"6189ca695a24634f6d7c6587be3af410","responseTime":16,"status":200,"url":"/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6189ca695a24634f6d7c6587be3af410"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Mn0.c6HFSVPVgSHjinDR7rnqSJLsCQi2D0eK4CEDMe1Pw7U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"33d0c42b8a0ae0e6c3cf86d393fb1257","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.216581,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458792,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Mn0.c6HFSVPVgSHjinDR7rnqSJLsCQi2D0eK4CEDMe1Pw7U"} 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":"33d0c42b8a0ae0e6c3cf86d393fb1257"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.265245,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458792,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Mn0.c6HFSVPVgSHjinDR7rnqSJLsCQi2D0eK4CEDMe1Pw7U"} 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":"21b0d440-18ec-11ef-b4a6-53fbcbef7f4b"},"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/8680da9a-5a2c-4d00-b38c-9e1b30479082' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","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":"9fd87a645e5996f2ce194c330a27221e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a"},{"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f617eb1bef6a327253081b724aa40cf5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a"},{"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8680da9a-5a2c-4d00-b38c-9e1b30479082': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8680da9a-5a2c-4d00-b38c-9e1b30479082","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"1009fc0a-347a-40e4-8b25-95ce7eaa0f0e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.8684156} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdd2f501-00ea-4279-8bc3-87d0223c660f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.8689418} 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":"21b0d440-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"data":{"peerconnection":"8680da9a-5a2c-4d00-b38c-9e1b30479082","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/8680da9a-5a2c-4d00-b38c-9e1b30479082 204 53ms","method":"DELETE","requestID":"21b0d440-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":53,"status":204,"url":"/peerconnections/8680da9a-5a2c-4d00-b38c-9e1b30479082"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6eadaa-04f5-4558-8ece-260c17078a8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd8c1cbc-77e3-4df2-83fb-356f0a180008","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.9224195} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.621631,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a","object_type":"device","rebac_allow":false,"scope_allow":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":"21bce230-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling 200 15ms","method":"POST","requestID":"21bce230-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/7e6eadaa-04f5-4558-8ece-260c17078a8a/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"87854840-7b0a-48e8-afe7-a8bb152a2aa4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.9314494} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92f23b4e-c711-440b-b94a-5b977d08b1fe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.9317553} 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":"33d0c42b8a0ae0e6c3cf86d393fb1257"},"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:50018","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1d25495-e4d9-4227-bbab-cd40bfec86d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9101e3ee-2084-4a32-8255-e7606f1a92b4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458792.9417443} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.913319,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8","object_type":"device","rebac_allow":false,"scope_allow":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":"21bfc860-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling 200 16ms","method":"POST","requestID":"21bfc860-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/b1d25495-e4d9-4227-bbab-cd40bfec86d8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33d0c42b8a0ae0e6c3cf86d393fb1257"} experiment-1 | {"level":"info","message":"DELETE /experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c 204 176ms","method":"DELETE","requestID":"33d0c42b8a0ae0e6c3cf86d393fb1257","responseTime":176,"status":204,"url":"/experiments/4fd4c3ec-dd31-4c69-9d28-a775d2a36d2c"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.729","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f4423fe4d38a52a8e2c21bafefd90dab"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.719","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b902cd7d8d108ea900c4b292eea68a16"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"9fd87a645e5996f2ce194c330a27221e","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fd87a645e5996f2ce194c330a27221e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"f617eb1bef6a327253081b724aa40cf5","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"f617eb1bef6a327253081b724aa40cf5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5934d4c975a0d199a2370cde613524c6","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/7e6eadaa-04f5-4558-8ece-260c17078a8a' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.982375,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"5934d4c975a0d199a2370cde613524c6"},"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/b1d25495-e4d9-4227-bbab-cd40bfec86d8' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dea37ba9-3ba6-4557-97d1-fda6c33d8a6f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.0258029} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5934d4c975a0d199a2370cde613524c6"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1def6e77-bdbe-474a-9948-e4e0e7cc4193","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.0322862} 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":"5934d4c975a0d199a2370cde613524c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"bdd9b918-d950-4fe3-a78f-04447b005ac0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.0461414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a70e313b-79fa-4437-9a67-77559fd6f974","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.046477} 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":"5934d4c975a0d199a2370cde613524c6"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.046102571Z"}]},"request_id":"dd4748ed-5987-46d4-923b-b53344a5497e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.053439} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5934d4c975a0d199a2370cde613524c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5934d4c975a0d199a2370cde613524c6"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"5934d4c975a0d199a2370cde613524c6","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"187c636a67c66afc05ad85966a028e93","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.739191,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"187c636a67c66afc05ad85966a028e93"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b362a41d-2a14-45cc-89d9-b05d98fb6293","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.079895} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"187c636a67c66afc05ad85966a028e93"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e0cc6fe-fa3a-4303-9e54-6abafca17823","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.0851786} 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":"187c636a67c66afc05ad85966a028e93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"75ba5b03-0cd7-4075-96e2-65ff617f31f7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.0944705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"271ca7c1-481f-43da-8172-3f09993cb560","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.0946584} 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":"187c636a67c66afc05ad85966a028e93"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.094430378Z"}]},"request_id":"7e6c6b6d-42cb-4899-bacf-6237a2416b89","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.0993795} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"187c636a67c66afc05ad85966a028e93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"187c636a67c66afc05ad85966a028e93"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"187c636a67c66afc05ad85966a028e93","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"d3cdd9d2187f4976594910d0afac921a","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"db6aa733193a2c7e46c7a3fa1d548d1e","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956085,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"d3cdd9d2187f4976594910d0afac921a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724003,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"db6aa733193a2c7e46c7a3fa1d548d1e"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.094430378Z"}]},"request_id":"92d58e78-9f76-4821-b7d2-656270477ecf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.5843017} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3cdd9d2187f4976594910d0afac921a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.046102571Z"}]},"request_id":"10446f05-b554-4798-ab72-d18c5cc4439c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.584987} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db6aa733193a2c7e46c7a3fa1d548d1e"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11687cb4-bfa3-4bba-83bc-2eddc1319e08","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.5891035} 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":"d3cdd9d2187f4976594910d0afac921a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed36cc48-c8f5-4cf0-97d5-0ca4f9a325ec","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.5904615} 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":"db6aa733193a2c7e46c7a3fa1d548d1e"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.046102571Z"}]},"request_id":"265d18f5-7750-42b7-8d1c-2b2542b6d2a6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.5936537} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db6aa733193a2c7e46c7a3fa1d548d1e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/decad893-1719-43a1-9e64-723282d45f08 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"db6aa733193a2c7e46c7a3fa1d548d1e"} device-1 | {"level":"info","message":"PATCH /devices/decad893-1719-43a1-9e64-723282d45f08 200 21ms","method":"PATCH","requestID":"db6aa733193a2c7e46c7a3fa1d548d1e","responseTime":21,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a80985db1e1ba5b59a233d6b66226fd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015198,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"9a80985db1e1ba5b59a233d6b66226fd"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.094430378Z"}]},"request_id":"5cfef8cd-7b05-43cb-a825-060027fb8947","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.6206558} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3cdd9d2187f4976594910d0afac921a"},"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":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/eb25a122-efcb-44a2-ba8c-1653c309a942 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d3cdd9d2187f4976594910d0afac921a"} device-1 | {"level":"info","message":"PATCH /devices/eb25a122-efcb-44a2-ba8c-1653c309a942 200 51ms","method":"PATCH","requestID":"d3cdd9d2187f4976594910d0afac921a","responseTime":51,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f953acf848f5850e40046f990051b75","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/decad893-1719-43a1-9e64-723282d45f08/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9a80985db1e1ba5b59a233d6b66226fd"} device-1 | {"level":"info","message":"POST /devices/decad893-1719-43a1-9e64-723282d45f08/websocket 200 31ms","method":"POST","requestID":"9a80985db1e1ba5b59a233d6b66226fd","responseTime":31,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08/websocket"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975657,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"7f953acf848f5850e40046f990051b75"},"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":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eb25a122-efcb-44a2-ba8c-1653c309a942/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7f953acf848f5850e40046f990051b75"} device-1 | {"level":"info","message":"POST /devices/eb25a122-efcb-44a2-ba8c-1653c309a942/websocket 200 14ms","method":"POST","requestID":"7f953acf848f5850e40046f990051b75","responseTime":14,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4edf7dbc200ea40fdf3167b94d6b07b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.524431,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4edf7dbc200ea40fdf3167b94d6b07b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.046102571Z"}]},"request_id":"2fe991a1-1657-468b-920a-025b08981db1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.6770883} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4edf7dbc200ea40fdf3167b94d6b07b"},"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":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/decad893-1719-43a1-9e64-723282d45f08? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4edf7dbc200ea40fdf3167b94d6b07b"} device-1 | {"level":"info","message":"GET /devices/decad893-1719-43a1-9e64-723282d45f08? 200 14ms","method":"GET","requestID":"a4edf7dbc200ea40fdf3167b94d6b07b","responseTime":14,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9bfb864fcb81cb8d0d5b2fbd27b0e63b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661066,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"9bfb864fcb81cb8d0d5b2fbd27b0e63b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.094430378Z"}]},"request_id":"76809474-12c1-44c0-a484-c384d34b25e3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.6972609} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bfb864fcb81cb8d0d5b2fbd27b0e63b"},"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":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eb25a122-efcb-44a2-ba8c-1653c309a942? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bfb864fcb81cb8d0d5b2fbd27b0e63b"} device-1 | {"level":"info","message":"GET /devices/eb25a122-efcb-44a2-ba8c-1653c309a942? 200 12ms","method":"GET","requestID":"9bfb864fcb81cb8d0d5b2fbd27b0e63b","responseTime":12,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4a59e511f70c93a2702f5e4f67d4335","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:50018","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.099497,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"f4a59e511f70c93a2702f5e4f67d4335"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"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:50018","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927249,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"223ebc60-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748297,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"223f0a80-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.046102571Z"}]},"request_id":"ee454aea-255d-4c6c-81c7-6ddde8d0b7b8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.778118} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"223ebc60-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.094430378Z"}]},"request_id":"37f24965-d611-47fe-a1d1-1d504aff6844","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.779117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"223f0a80-18ec-11ef-b4a6-53fbcbef7f4b"},"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/decad893-1719-43a1-9e64-723282d45f08? 200 18ms","method":"GET","requestID":"223ebc60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/eb25a122-efcb-44a2-ba8c-1653c309a942? 200 17ms","method":"GET","requestID":"223f0a80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"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:50018","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044301,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"224943b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904384,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"22496ac0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.172492,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4abefa9b-9ebb-4727-aa0f-756db29a2cec","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.8463933} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","rebac_allow":false,"scope_allow":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":"2249b8e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.046102571Z"}]},"request_id":"a9be762e-9b6f-4f68-9578-79787ed99cdc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.8488536} 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":"224943b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.094430378Z"}]},"request_id":"88512221-b58b-4564-8640-373750957160","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.8542356} device-1 | {"level":"info","message":"POST /devices/decad893-1719-43a1-9e64-723282d45f08/signaling 200 17ms","method":"POST","requestID":"2249b8e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08/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":"22496ac0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb864f819-b09e-40e3-9d33-bca39a2c54be#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb864f819-b09e-40e3-9d33-bca39a2c54be","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"91688eb5-d9d6-4742-bd72-7efb2ee12541","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.8577104} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af41d659-5919-4ad7-b05b-31ebd71c0838","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.8580787} 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":"f4a59e511f70c93a2702f5e4f67d4335"},"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/decad893-1719-43a1-9e64-723282d45f08? 200 26ms","method":"GET","requestID":"224943b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/eb25a122-efcb-44a2-ba8c-1653c309a942? 200 26ms","method":"GET","requestID":"22496ac0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f9b3a08-6415-49bc-99a5-76cbc453cdee","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.8631144} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810537,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"224c9f10-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b864f819-b09e-40e3-9d33-bca39a2c54be","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 162ms","method":"POST","requestID":"f4a59e511f70c93a2702f5e4f67d4335","responseTime":162,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4a59e511f70c93a2702f5e4f67d4335"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling 200 13ms","method":"POST","requestID":"224c9f10-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15907bb2-e8ca-4be1-bcad-839b2b1ee049","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.872173} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.097728,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","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":"224dfea0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1de1db2ca64a05bd54f7c913eed75859","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} device-1 | {"level":"info","message":"POST /devices/decad893-1719-43a1-9e64-723282d45f08/signaling 200 14ms","method":"POST","requestID":"224dfea0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.052528,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1de1db2ca64a05bd54f7c913eed75859"},"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:50018","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.046102571Z"}]},"request_id":"262f6654-e952-4f1d-a693-f7e999abc7b5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.8867216} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8619de10-c8f3-42e9-a68e-6c0903efb08c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.886718} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1de1db2ca64a05bd54f7c913eed75859"},"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:50018","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.688472,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22506fa0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/decad893-1719-43a1-9e64-723282d45f08? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1de1db2ca64a05bd54f7c913eed75859"} device-1 | {"level":"info","message":"GET /devices/decad893-1719-43a1-9e64-723282d45f08? 200 14ms","method":"GET","requestID":"1de1db2ca64a05bd54f7c913eed75859","responseTime":14,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling 200 10ms","method":"POST","requestID":"22506fa0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"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":"f088fe9d-7c22-40af-bae2-dc019e05d4a0"},{"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":"65c150c4-dd8c-481d-ac28-82c6f882a837"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"aea7ecd9-bd22-4f0c-a83e-de975eedea56"}]},"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/eb25a122-efcb-44a2-ba8c-1653c309a942"},{"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/decad893-1719-43a1-9e64-723282d45f08"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"619a07690d23b1b88a401ac2561eadf0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.683848,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"22524460-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35356","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.575687,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458793,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5M30.ZTk--2z_WEUAO3nLjpp4QNxX_sXa2SstBaTi3lw9l-s"} 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":"619a07690d23b1b88a401ac2561eadf0"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:33.094430378Z"}]},"request_id":"01ddb16a-e1f6-43a6-89fb-8aa06dd5319e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.9034274} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"619a07690d23b1b88a401ac2561eadf0"},"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":"23/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eb25a122-efcb-44a2-ba8c-1653c309a942? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"619a07690d23b1b88a401ac2561eadf0"} device-1 | {"level":"info","message":"GET /devices/eb25a122-efcb-44a2-ba8c-1653c309a942? 200 11ms","method":"GET","requestID":"619a07690d23b1b88a401ac2561eadf0","responseTime":11,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"b64cafd2-af71-4674-8450-7d6d6663d8d5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.9072485} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4018163-2b97-4b10-9999-eba46e1ba440","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.9074855} 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":"22524460-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20'"} 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":"22524460-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dc3843d-d178-45db-bdcb-f8a6d6fbb9f0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.9652538} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.744387,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"225c5680-18ec-11ef-b4a6-53fbcbef7f4b"},"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/decad893-1719-43a1-9e64-723282d45f08/signaling 200 10ms","method":"POST","requestID":"225c5680-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"197c4a24-0032-4769-a8eb-56745b72d00d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458793.9771338} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.230809,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"225e0430-18ec-11ef-b4a6-53fbcbef7f4b"},"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/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling 200 11ms","method":"POST","requestID":"225e0430-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling"} device-1 | {"data":{"peerconnection":"51283832-7891-4c43-8d41-d0d341957f20","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"51283832-7891-4c43-8d41-d0d341957f20","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/51283832-7891-4c43-8d41-d0d341957f20' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"51283832-7891-4c43-8d41-d0d341957f20","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 0ms","method":"GET","requestID":"445bf2fb3f4a158b2ad9809760271585","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942"},{"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/decad893-1719-43a1-9e64-723282d45f08"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"445bf2fb3f4a158b2ad9809760271585","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"445bf2fb3f4a158b2ad9809760271585"} device-1 | {"data":{"peerconnection":"51283832-7891-4c43-8d41-d0d341957f20","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"51283832-7891-4c43-8d41-d0d341957f20","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"51283832-7891-4c43-8d41-d0d341957f20","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":"585ae2176bf52fd0ecc950c8a1246f4f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942"},{"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/decad893-1719-43a1-9e64-723282d45f08"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F51283832-7891-4c43-8d41-d0d341957f20","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ee91510-f991-4ad2-8fa8-c05c8c162d57","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.0631294} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.857856,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20","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":"239c2980-18ec-11ef-b4a6-53fbcbef7f4b"},"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/51283832-7891-4c43-8d41-d0d341957f20 200 13ms","method":"GET","requestID":"239c2980-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/peerconnections/51283832-7891-4c43-8d41-d0d341957f20"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"585ae2176bf52fd0ecc950c8a1246f4f","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"585ae2176bf52fd0ecc950c8a1246f4f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2de38eb-c88b-4d7c-a501-1bb05ff3acba","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.0993931} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.849554,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","rebac_allow":false,"scope_allow":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":"23a1a7c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling 200 14ms","method":"POST","requestID":"23a1a7c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35aa36d2-81cc-4575-adb6-50a72aae4df8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.1162252} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.021493,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","rebac_allow":false,"scope_allow":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":"23a43fd0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/decad893-1719-43a1-9e64-723282d45f08/signaling 200 14ms","method":"POST","requestID":"23a43fd0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"05ec4d792d1299ff0982d6d1a7bbcdd7","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.553216,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458796,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI"} 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":"05ec4d792d1299ff0982d6d1a7bbcdd7"},"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/b864f819-b09e-40e3-9d33-bca39a2c54be"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b864f819-b09e-40e3-9d33-bca39a2c54be HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05ec4d792d1299ff0982d6d1a7bbcdd7"} experiment-1 | {"level":"info","message":"GET /experiments/b864f819-b09e-40e3-9d33-bca39a2c54be 200 17ms","method":"GET","requestID":"05ec4d792d1299ff0982d6d1a7bbcdd7","responseTime":17,"status":200,"url":"/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8c91d37954b36a5dba0411380bf76506","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.450159,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458796,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI"} 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":"8c91d37954b36a5dba0411380bf76506"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.758882,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458796,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI"} 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":"23aec720-18ec-11ef-b4a6-53fbcbef7f4b"},"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/51283832-7891-4c43-8d41-d0d341957f20' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"51283832-7891-4c43-8d41-d0d341957f20","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F51283832-7891-4c43-8d41-d0d341957f20': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F51283832-7891-4c43-8d41-d0d341957f20","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"af24fd1b-4ccd-4305-8be1-cd8d4798de44","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.20268} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47cb3a85-7437-4f80-a59e-069089b2e16c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.2032478} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d0753ece632bbe14f9cba58f997c0051","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23aec720-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/eb25a122-efcb-44a2-ba8c-1653c309a942"},{"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/decad893-1719-43a1-9e64-723282d45f08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6e7c0885d5e244aa52d2fe1340ea194b","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/eb25a122-efcb-44a2-ba8c-1653c309a942"},{"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/decad893-1719-43a1-9e64-723282d45f08"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/51283832-7891-4c43-8d41-d0d341957f20"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/51283832-7891-4c43-8d41-d0d341957f20 204 57ms","method":"DELETE","requestID":"23aec720-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":57,"status":204,"url":"/peerconnections/51283832-7891-4c43-8d41-d0d341957f20"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feb25a122-efcb-44a2-ba8c-1653c309a942","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c431583d-4f41-4a75-92ad-c8ebc4bbb85a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.266354} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.035971,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eb25a122-efcb-44a2-ba8c-1653c309a942","object_type":"device","rebac_allow":false,"scope_allow":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":"23bb2330-18ec-11ef-b4a6-53fbcbef7f4b"},"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/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling 200 15ms","method":"POST","requestID":"23bb2330-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/eb25a122-efcb-44a2-ba8c-1653c309a942/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb864f819-b09e-40e3-9d33-bca39a2c54be': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb864f819-b09e-40e3-9d33-bca39a2c54be","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"2258901d-5052-49be-b69d-9a53d3d14c13","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.276991} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3317709-fbdb-45cf-b0c4-1e955f75c610","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.2776806} 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":"8c91d37954b36a5dba0411380bf76506"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdecad893-1719-43a1-9e64-723282d45f08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e37633c5-3d86-4e8e-bd36-f86c230e0ba8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.2850919} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.973015,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/decad893-1719-43a1-9e64-723282d45f08","object_type":"device","rebac_allow":false,"scope_allow":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":"23bde250-18ec-11ef-b4a6-53fbcbef7f4b"},"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/decad893-1719-43a1-9e64-723282d45f08/signaling 200 15ms","method":"POST","requestID":"23bde250-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/decad893-1719-43a1-9e64-723282d45f08/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b864f819-b09e-40e3-9d33-bca39a2c54be HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c91d37954b36a5dba0411380bf76506"} experiment-1 | {"level":"info","message":"DELETE /experiments/b864f819-b09e-40e3-9d33-bca39a2c54be 204 189ms","method":"DELETE","requestID":"8c91d37954b36a5dba0411380bf76506","responseTime":189,"status":204,"url":"/experiments/b864f819-b09e-40e3-9d33-bca39a2c54be"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.715","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5990a767ad9a26df5408382f570df1c0"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.703","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1814d9d535aae3a26ee407b5806351df"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"d0753ece632bbe14f9cba58f997c0051","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0753ece632bbe14f9cba58f997c0051"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"6e7c0885d5e244aa52d2fe1340ea194b","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e7c0885d5e244aa52d2fe1340ea194b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bad23be4f441ee9a5be7c7f19457c015","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/eb25a122-efcb-44a2-ba8c-1653c309a942' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906258,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458796,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI"} 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":"bad23be4f441ee9a5be7c7f19457c015"},"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/decad893-1719-43a1-9e64-723282d45f08' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"34919760-bbdd-49b5-a1c3-e51f051a9846","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.3768902} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bad23be4f441ee9a5be7c7f19457c015"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ba78b0c-c44d-424f-a193-94ace7bb9175","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.3828998} 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":"bad23be4f441ee9a5be7c7f19457c015"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"7a4473a7-e308-490f-8d58-20f2b9255256","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.3948398} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6616ecb-5615-4e46-bcad-133317b0591f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.3950698} 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":"bad23be4f441ee9a5be7c7f19457c015"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.394807470Z"}]},"request_id":"6553ba5b-55c5-4824-ad7a-0f9ef80d57a0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.399961} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bad23be4f441ee9a5be7c7f19457c015"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bad23be4f441ee9a5be7c7f19457c015"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"bad23be4f441ee9a5be7c7f19457c015","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de383d43dcaba4e694d9a0a40e961e94","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.914354,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458796,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5Nn0.SvjOaBkY8zyzZN06siAJx1kNqwJW9Ry2XhbnP-KSIsI"} 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":"de383d43dcaba4e694d9a0a40e961e94"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31bd5001-a076-4a73-8f7a-3e490cdda59a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.4286392} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de383d43dcaba4e694d9a0a40e961e94"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"219810f8-da4c-487b-9a99-1263a46246ff","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.4337} 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":"de383d43dcaba4e694d9a0a40e961e94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"ec326bb5-e621-47e6-86ec-36cf424336f8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.4434042} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30a29470-aa69-44bc-9d1e-d29bd0a40ccd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.4436195} 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":"de383d43dcaba4e694d9a0a40e961e94"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.443373199Z"}]},"request_id":"ee27b570-cd22-413b-a55e-fb6a5d6e7b20","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458796.4478738} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de383d43dcaba4e694d9a0a40e961e94"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de383d43dcaba4e694d9a0a40e961e94"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"de383d43dcaba4e694d9a0a40e961e94","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b0cf62180495f4fd8add997ef2e28790","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/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":"b0cf62180495f4fd8add997ef2e28790"} device-1 | {"level":"info","message":"OPTIONS /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/websocket 200 1ms","method":"OPTIONS","requestID":"b0cf62180495f4fd8add997ef2e28790","responseTime":1,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a497d90e809b83fc81155e281d961546","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50018","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222188,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"76689d65b5a674f125ea2aa9e23fb10f","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} gateway-1 | {"time_local":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/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":"76689d65b5a674f125ea2aa9e23fb10f"} device-1 | {"level":"info","message":"OPTIONS /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/websocket 200 2ms","method":"OPTIONS","requestID":"76689d65b5a674f125ea2aa9e23fb10f","responseTime":2,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/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":"a497d90e809b83fc81155e281d961546"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e058bc8ac144d33ac76a85d5c2a72d94","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240471,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e058bc8ac144d33ac76a85d5c2a72d94"},"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":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/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":"a497d90e809b83fc81155e281d961546"} device-1 | {"level":"info","message":"POST /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/websocket 200 26ms","method":"POST","requestID":"a497d90e809b83fc81155e281d961546","responseTime":26,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/websocket 200 22ms","method":"POST","requestID":"e058bc8ac144d33ac76a85d5c2a72d94","responseTime":22,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/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":"e058bc8ac144d33ac76a85d5c2a72d94"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ab0abeb56aad5c1028db9d03d8661283","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195153,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab0abeb56aad5c1028db9d03d8661283"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.394807470Z"}]},"request_id":"8ba192f1-f028-48fb-b1f4-54be557fa49c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.4447074} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab0abeb56aad5c1028db9d03d8661283"},"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":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab0abeb56aad5c1028db9d03d8661283"} device-1 | {"level":"info","message":"GET /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb? 200 16ms","method":"GET","requestID":"ab0abeb56aad5c1028db9d03d8661283","responseTime":16,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bbcb85e7e62991c3d14e69bae6379f98","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21441,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bbcb85e7e62991c3d14e69bae6379f98"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.443373199Z"}]},"request_id":"c2704af4-0984-4bf8-9644-7b654d03b798","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.4710977} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bbcb85e7e62991c3d14e69bae6379f98"},"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":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bbcb85e7e62991c3d14e69bae6379f98"} device-1 | {"level":"info","message":"GET /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49? 200 17ms","method":"GET","requestID":"bbcb85e7e62991c3d14e69bae6379f98","responseTime":17,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5dd83aa307a3c117ac0afeb8297634bc","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:50018","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.125175,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} 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":"5dd83aa307a3c117ac0afeb8297634bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"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:50018","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128311,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25164660-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.157507,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} 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":"25169480-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.394807470Z"}]},"request_id":"924f0808-8ad1-4f72-9bc7-e42b67427deb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.5469675} 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":"25164660-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.443373199Z"}]},"request_id":"19363984-0005-45af-8989-4c2da85bf4c1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.5535696} device-1 | {"level":"info","message":"GET /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb? 200 20ms","method":"GET","requestID":"25164660-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25169480-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49? 200 21ms","method":"GET","requestID":"25169480-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"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:50018","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.374877,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.197254,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} 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":"2521df20-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} 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":"25222d40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.443373199Z"}]},"request_id":"ad202166-cc66-4ac2-9b7a-40d03c25f6d0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6303596} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fb61de1-aff6-424a-9d0e-c5c866ea5d1c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6312006} 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":"25222d40-18ec-11ef-b4a6-53fbcbef7f4b"},"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:60264","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.450519,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.394807470Z"}]},"request_id":"0f836bcc-9dac-4646-b2b4-352f72ea5619","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6320446} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2522a270-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} 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":"2521df20-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49? 200 26ms","method":"GET","requestID":"25222d40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca8631c-a076-4cbe-8228-d6c22d3d64e0#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca8631c-a076-4cbe-8228-d6c22d3d64e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"261ca289-0fe7-4093-93d2-bcca2f1bdd86","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6390724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61cb8d9a-a9b8-4b33-890d-9d40c9086bb9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6394172} 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":"5dd83aa307a3c117ac0afeb8297634bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling 200 27ms","method":"POST","requestID":"2522a270-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":27,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb? 200 33ms","method":"GET","requestID":"2521df20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":33,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5dd83aa307a3c117ac0afeb8297634bc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"5dd83aa307a3c117ac0afeb8297634bc","responseTime":170,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ed232eb-5fc8-4e8e-a27e-70aac4bb0023","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.653999} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.372114,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","rebac_allow":false,"scope_allow":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":"25278470-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69514357-1370-4c9d-9adc-b44399e6e5cd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6556509} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.353964,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","rebac_allow":false,"scope_allow":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":"2527d290-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8b8b6bc392846c0502ac5d90a6db213","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling 200 15ms","method":"POST","requestID":"25278470-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling 200 17ms","method":"POST","requestID":"2527d290-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956989,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8b8b6bc392846c0502ac5d90a6db213"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.394807470Z"}]},"request_id":"88be470a-97be-40cd-beff-f5204468e785","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.673691} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1770122b-827f-4f9d-a025-7ef1dabff259","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6737826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8b8b6bc392846c0502ac5d90a6db213"},"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:50018","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.785117,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"252ab8c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8b8b6bc392846c0502ac5d90a6db213"} device-1 | {"level":"info","message":"GET /devices/7471970f-d511-4f16-801c-6ea0fb82bfbb? 200 16ms","method":"GET","requestID":"f8b8b6bc392846c0502ac5d90a6db213","responseTime":16,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling 200 13ms","method":"POST","requestID":"252ab8c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"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":"11579d67-4dc6-4de4-a095-705d7f60b4b8"},{"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":"23a96f38-6e14-4697-aaed-3a2504c5fc5b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"063b3e66-c341-4ecd-89ad-ace095256e62"}]},"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/7471970f-d511-4f16-801c-6ea0fb82bfbb"},{"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f256d92c41be7cc1fad4c97f41d7155f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.865734,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} 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":"252d29c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.116531,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f256d92c41be7cc1fad4c97f41d7155f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:36.443373199Z"}]},"request_id":"21f9b4ef-554e-4192-986d-c1f46d1b16b2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.6966534} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f256d92c41be7cc1fad4c97f41d7155f"},"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":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f256d92c41be7cc1fad4c97f41d7155f"} device-1 | {"level":"info","message":"GET /devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49? 200 16ms","method":"GET","requestID":"f256d92c41be7cc1fad4c97f41d7155f","responseTime":16,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"bf0265d8-fef6-4a0a-b059-b91ba223ab2a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.7020288} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd84644d-6b9a-47c8-9435-9870c1fa8ecf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.7022393} 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":"252d29c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd'"} 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":"252d29c0-18ec-11ef-b4a6-53fbcbef7f4b","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/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8050e6ef-2a07-46f4-aaf8-c3378a9ae439","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.759492} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.655039,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2537ff30-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling 200 9ms","method":"POST","requestID":"2537ff30-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8435ef06-9b47-4610-855b-11b4c7ac9c6d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.7714567} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.683332,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2539d3f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling 200 8ms","method":"POST","requestID":"2539d3f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ae9d0b21d72032e6602ff50c6689e594","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb"},{"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"ae9d0b21d72032e6602ff50c6689e594","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae9d0b21d72032e6602ff50c6689e594"} device-1 | {"data":{"peerconnection":"a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","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/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","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":"fd8e75031ff5b69d6673bd23e293228d","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/7471970f-d511-4f16-801c-6ea0fb82bfbb"},{"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa91ebbfb-bf07-406c-91b9-9ad4a7b062fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30d8bbc4-00f3-48e0-b529-edaca7482385","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.8566704} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.921949,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","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":"2546a530-18ec-11ef-b4a6-53fbcbef7f4b"},"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/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd 200 9ms","method":"GET","requestID":"2546a530-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"fd8e75031ff5b69d6673bd23e293228d","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"fd8e75031ff5b69d6673bd23e293228d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2d06744-79be-4779-abdd-26907aaedb25","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.8792658} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.151803,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","rebac_allow":false,"scope_allow":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":"254a4eb0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling 200 8ms","method":"POST","requestID":"254a4eb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8ef7481-3aa6-4c61-ba16-4d24815895f3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.8886895} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.148905,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","rebac_allow":false,"scope_allow":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":"254bae40-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling 200 8ms","method":"POST","requestID":"254bae40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5b3a3e6c0a71d83a7dccc9f5998ab496","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.680835,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} 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":"5b3a3e6c0a71d83a7dccc9f5998ab496"},"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/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"} experiment-1 | {"level":"info","message":"GET /experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0 200 8ms","method":"GET","requestID":"5b3a3e6c0a71d83a7dccc9f5998ab496","responseTime":8,"status":200,"url":"/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"} gateway-1 | {"time_local":"23/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5b3a3e6c0a71d83a7dccc9f5998ab496"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"26660572295321b524009e6362e620e1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.666301,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26660572295321b524009e6362e620e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.669752,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458798,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OH0.Fg9MjAB-Ep0YKGYYsRaAlYQBQX7LPkKOrsU9Rb7mvYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"255460d0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa91ebbfb-bf07-406c-91b9-9ad4a7b062fd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa91ebbfb-bf07-406c-91b9-9ad4a7b062fd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"5c741231-de8a-4411-8743-4b1540f09905","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.9548616} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7925cfff-baf8-4355-9785-539e226df705","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458798.955202} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a52f79d669db48e319bb4e0b09fa9e90","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"255460d0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"9106b92c05f1d1c0c09d881176978162","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb"},{"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd"}}},"level":"info","message":"received a callback"} 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/7471970f-d511-4f16-801c-6ea0fb82bfbb"},{"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a91ebbfb-bf07-406c-91b9-9ad4a7b062fd","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/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd 204 48ms","method":"DELETE","requestID":"255460d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":48,"status":204,"url":"/peerconnections/a91ebbfb-bf07-406c-91b9-9ad4a7b062fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:39Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7471970f-d511-4f16-801c-6ea0fb82bfbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7235e466-e03f-4dd9-93b4-2493e0c3f13d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.0158787} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.735363,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"255ee820-18ec-11ef-b4a6-53fbcbef7f4b"},"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/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling 200 11ms","method":"POST","requestID":"255ee820-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/7471970f-d511-4f16-801c-6ea0fb82bfbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca8631c-a076-4cbe-8228-d6c22d3d64e0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca8631c-a076-4cbe-8228-d6c22d3d64e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"f919c8f0-4f04-464c-95f2-a8289e9aac8e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.0263884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5307b9fb-c8f6-4f32-940c-ec601260a338","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.0264964} 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":"26660572295321b524009e6362e620e1"},"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:50018","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:39Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0d08eab-2ce8-4034-a2e1-5b9a37553e49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74a7cf9c-9894-4283-baa3-5370dae3f057","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.0285628} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.399356,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2560e3f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling 200 11ms","method":"POST","requestID":"2560e3f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"} gateway-1 | {"time_local":"23/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0 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":"26660572295321b524009e6362e620e1"} experiment-1 | {"level":"info","message":"DELETE /experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0 204 152ms","method":"DELETE","requestID":"26660572295321b524009e6362e620e1","responseTime":152,"status":204,"url":"/experiments/3ca8631c-a076-4cbe-8228-d6c22d3d64e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"a52f79d669db48e319bb4e0b09fa9e90","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"a52f79d669db48e319bb4e0b09fa9e90"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"9106b92c05f1d1c0c09d881176978162","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"9106b92c05f1d1c0c09d881176978162"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OX0.x5CPiefiZdvaBur1-ziOxi5idNu4r5tfdoI-O1q3sxc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7c1e00f944d9e46d20be09c439b3d578","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.696","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"85fe667e084294e612e373855f1e739b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:39Z"} gateway-1 | {"time_local":"23/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.689","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"906bae5798731cd40623870257ccdc06"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.025545,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458799,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OX0.x5CPiefiZdvaBur1-ziOxi5idNu4r5tfdoI-O1q3sxc"} 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":"7c1e00f944d9e46d20be09c439b3d578"},"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/7471970f-d511-4f16-801c-6ea0fb82bfbb' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a4656bb9-1eaf-490b-8521-1408468a90c5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1126409} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c1e00f944d9e46d20be09c439b3d578"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"234c9b91-f826-45e2-a088-8cdfabd0df79","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.117005} 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":"7c1e00f944d9e46d20be09c439b3d578"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f0d08eab-2ce8-4034-a2e1-5b9a37553e49' closed"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"d567a395-5ac9-4913-8116-c89785ae464c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1306212} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee8ef0a6-5118-4323-b82a-7418f972c204","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1307511} 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":"7c1e00f944d9e46d20be09c439b3d578"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.130594989Z"}]},"request_id":"f088b26b-455d-441d-870c-eaee5d9a741e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1348343} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c1e00f944d9e46d20be09c439b3d578"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"7c1e00f944d9e46d20be09c439b3d578","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c1e00f944d9e46d20be09c439b3d578"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OX0.x5CPiefiZdvaBur1-ziOxi5idNu4r5tfdoI-O1q3sxc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9807dd1647174c17db8bf5c86b51c7e3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.741838,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458799,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODc5OX0.x5CPiefiZdvaBur1-ziOxi5idNu4r5tfdoI-O1q3sxc"} 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":"9807dd1647174c17db8bf5c86b51c7e3"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1459393f-35a9-4b3e-979b-a86a4420b082","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1571405} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9807dd1647174c17db8bf5c86b51c7e3"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3edabe1f-ceae-4d48-9194-ca6deb2cf5b9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1616051} 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":"9807dd1647174c17db8bf5c86b51c7e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"7dcf17a2-e000-4c0b-89dc-3c9952573e35","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1714923} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2d82a78-2ca1-4082-8d7e-c1ce3eeb112b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1716185} 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":"9807dd1647174c17db8bf5c86b51c7e3"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.171461300Z"}]},"request_id":"c1629001-deee-4a91-8e38-777fed859ada","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458799.1763015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9807dd1647174c17db8bf5c86b51c7e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"9807dd1647174c17db8bf5c86b51c7e3","responseTime":37,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9807dd1647174c17db8bf5c86b51c7e3"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2267ce9b094503edcb53ee8ccbea77e4","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bc11c748-ab90-4cf3-b048-4358206f4a76/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":"2267ce9b094503edcb53ee8ccbea77e4"} device-1 | {"level":"info","message":"OPTIONS /devices/bc11c748-ab90-4cf3-b048-4358206f4a76/websocket 200 1ms","method":"OPTIONS","requestID":"2267ce9b094503edcb53ee8ccbea77e4","responseTime":1,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"73c94341031af1943ab7b8afbffb59f7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754111,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"73c94341031af1943ab7b8afbffb59f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b2457306f941000ee237af68767bf8b0","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/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":"b2457306f941000ee237af68767bf8b0"} device-1 | {"level":"info","message":"OPTIONS /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/websocket 200 1ms","method":"OPTIONS","requestID":"b2457306f941000ee237af68767bf8b0","responseTime":1,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"edf19c0acf336fee32746eed67b6b074","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bc11c748-ab90-4cf3-b048-4358206f4a76/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"73c94341031af1943ab7b8afbffb59f7"} device-1 | {"level":"info","message":"POST /devices/bc11c748-ab90-4cf3-b048-4358206f4a76/websocket 200 25ms","method":"POST","requestID":"73c94341031af1943ab7b8afbffb59f7","responseTime":25,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76/websocket"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820002,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"edf19c0acf336fee32746eed67b6b074"},"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":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/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":"edf19c0acf336fee32746eed67b6b074"} device-1 | {"level":"info","message":"POST /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/websocket 200 23ms","method":"POST","requestID":"edf19c0acf336fee32746eed67b6b074","responseTime":23,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"511178d6ee0386825b69188591bf650f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125372,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"511178d6ee0386825b69188591bf650f"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.130594989Z"}]},"request_id":"32c0dc93-f3e6-49f0-a12e-9e4f01e0c099","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.2377098} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"511178d6ee0386825b69188591bf650f"},"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/bc11c748-ab90-4cf3-b048-4358206f4a76? 200 12ms","method":"GET","requestID":"511178d6ee0386825b69188591bf650f","responseTime":12,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76?"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc11c748-ab90-4cf3-b048-4358206f4a76? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"511178d6ee0386825b69188591bf650f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8a6cb1f68bf044bdc99d40ddb8815da0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912708,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"8a6cb1f68bf044bdc99d40ddb8815da0"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.171461300Z"}]},"request_id":"3b3ea0ce-1167-4bc6-b29f-3fae505cc15f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.2559507} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a6cb1f68bf044bdc99d40ddb8815da0"},"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":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a6cb1f68bf044bdc99d40ddb8815da0"} device-1 | {"level":"info","message":"GET /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30? 200 15ms","method":"GET","requestID":"8a6cb1f68bf044bdc99d40ddb8815da0","responseTime":15,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f022dc9f23805ca3a399c69219d03e65","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:50018","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.315321,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"f022dc9f23805ca3a399c69219d03e65"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"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:50018","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967869,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26be02f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751443,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26be5110-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.130594989Z"}]},"request_id":"a4a259c8-d657-4a16-ae84-0127d30a150f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.3220956} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26be02f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.171461300Z"}]},"request_id":"a7ba87ad-fd86-42f2-8ed2-7d4ea5b7ebd1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.3233802} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26be5110-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc11c748-ab90-4cf3-b048-4358206f4a76? 200 18ms","method":"GET","requestID":"26be02f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30? 200 17ms","method":"GET","requestID":"26be5110-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"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:50018","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702922,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26c88a40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.979191,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26c8d860-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48da7221-9b4d-4158-ab18-42487512ed10","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.3913288} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.385746,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.130594989Z"}]},"request_id":"aee8da13-b108-4203-929a-deb999e56e7a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.394435} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","rebac_allow":false,"scope_allow":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":"26c92680-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} 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":"26c88a40-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.171461300Z"}]},"request_id":"93e12091-3324-4a85-98bf-ff2e8ec9b66d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.396187} 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":"26c8d860-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling 200 18ms","method":"POST","requestID":"26c92680-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bc11c748-ab90-4cf3-b048-4358206f4a76? 200 23ms","method":"GET","requestID":"26c88a40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7df4df4-b23f-4262-92ec-baf6298f0d5a#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7df4df4-b23f-4262-92ec-baf6298f0d5a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"b113184c-4fc3-413a-a413-694d2a1f848e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.404173} device-1 | {"level":"info","message":"GET /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30? 200 22ms","method":"GET","requestID":"26c8d860-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30?"} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10cd439f-2541-47b8-90c7-e0b2f7b2b47c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.4045453} 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":"f022dc9f23805ca3a399c69219d03e65"},"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:50018","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.603525,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebec3ae3-a398-4dcd-9469-59aaa970cd4d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.4100764} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8212b241-edfe-4fef-82f5-891ffa9c2f9f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.4115171} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","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":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f022dc9f23805ca3a399c69219d03e65"} experiment-1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"f022dc9f23805ca3a399c69219d03e65","responseTime":146,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26cc5ad0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.362695,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","rebac_allow":false,"scope_allow":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":"26cc81e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling 200 12ms","method":"POST","requestID":"26cc5ad0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling 200 11ms","method":"POST","requestID":"26cc81e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bea47263c9889c855abb4497aed0f907","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:50018","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613664,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"bea47263c9889c855abb4497aed0f907"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0111a2f5-42be-4a60-93d0-af810c979106","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.4232404} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.132807,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26cea4c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.130594989Z"}]},"request_id":"772b2f79-1c05-48a0-976b-5051912f9203","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.4267375} device-1 | {"level":"info","message":"POST /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling 200 7ms","method":"POST","requestID":"26cea4c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":7,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/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":"bea47263c9889c855abb4497aed0f907"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"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":"125f9509-45f5-4566-953a-6e1c07c458fd"},{"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":"484f37f9-f0af-4ba8-b544-31a71eecf3df"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"21c66cdd-aa13-47d2-88f4-405bb07869d4"}]},"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/bc11c748-ab90-4cf3-b048-4358206f4a76"},{"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30"}],"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":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc11c748-ab90-4cf3-b048-4358206f4a76? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bea47263c9889c855abb4497aed0f907"} device-1 | {"level":"info","message":"GET /devices/bc11c748-ab90-4cf3-b048-4358206f4a76? 200 12ms","method":"GET","requestID":"bea47263c9889c855abb4497aed0f907","responseTime":12,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.867529,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"26d00450-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"12a7f41418dcb831a9dc110de5620616","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928298,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"12a7f41418dcb831a9dc110de5620616"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"87d49ceb-b531-4581-8d22-732445f082dd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.443102} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a162ce92-a6cd-4333-b548-3851757eb423","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.4434795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:39.171461300Z"}]},"request_id":"875402bb-4419-4671-9bbd-83be4a41d46e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.4441786} 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":"26d00450-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"12a7f41418dcb831a9dc110de5620616"},"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":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12a7f41418dcb831a9dc110de5620616"} device-1 | {"level":"info","message":"GET /devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30? 200 12ms","method":"GET","requestID":"12a7f41418dcb831a9dc110de5620616","responseTime":12,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30?"} 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/3691ec7f-fc27-431f-9a1d-b20e56ab5405'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405'"} 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":"26d00450-18ec-11ef-b4a6-53fbcbef7f4b","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/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8472685-5b1a-40a3-9716-760f35330f4a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.508387} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.307808,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","rebac_allow":false,"scope_allow":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":"26db7600-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling 200 8ms","method":"POST","requestID":"26db7600-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9829a8e-11fc-43df-b171-f32ed01bbaa5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.5187876} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.776395,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"26dcfca0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling 200 10ms","method":"POST","requestID":"26dcfca0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3691ec7f-fc27-431f-9a1d-b20e56ab5405","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4f1b4400b1a8d64073c8404425ad49fc","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76"},{"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"4f1b4400b1a8d64073c8404425ad49fc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"4f1b4400b1a8d64073c8404425ad49fc","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"3691ec7f-fc27-431f-9a1d-b20e56ab5405","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3691ec7f-fc27-431f-9a1d-b20e56ab5405","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3691ec7f-fc27-431f-9a1d-b20e56ab5405","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":"98d840ffc20f59a499b2197011571251","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/bc11c748-ab90-4cf3-b048-4358206f4a76"},{"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3691ec7f-fc27-431f-9a1d-b20e56ab5405","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e93c70c7-5fea-41e2-a96c-8cd480d5b8fd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.603241} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.249411,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405","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":"26e9f4f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/3691ec7f-fc27-431f-9a1d-b20e56ab5405 200 8ms","method":"GET","requestID":"26e9f4f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"98d840ffc20f59a499b2197011571251","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"98d840ffc20f59a499b2197011571251"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0588c970-3ab5-47eb-80f0-aefa9fcf71ce","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.6264284} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.952062,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26ed5050-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling 200 9ms","method":"POST","requestID":"26ed5050-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"638d92c7-df98-4759-aac0-b54b42086295","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.6356115} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.11396,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","rebac_allow":false,"scope_allow":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":"26eed6f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling 200 7ms","method":"POST","requestID":"26eed6f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":7,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f2f3892b135164cbd89fd7d5f1e9c895","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.65368,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"f2f3892b135164cbd89fd7d5f1e9c895"},"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/b7df4df4-b23f-4262-92ec-baf6298f0d5a"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2f3892b135164cbd89fd7d5f1e9c895"} experiment-1 | {"level":"info","message":"GET /experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a 200 11ms","method":"GET","requestID":"f2f3892b135164cbd89fd7d5f1e9c895","responseTime":11,"status":200,"url":"/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f5e99f7ff1100c8e8cf289f1084411b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.657453,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"8f5e99f7ff1100c8e8cf289f1084411b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.722089,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"26f8e910-18ec-11ef-b4a6-53fbcbef7f4b"},"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/3691ec7f-fc27-431f-9a1d-b20e56ab5405' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3691ec7f-fc27-431f-9a1d-b20e56ab5405","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3691ec7f-fc27-431f-9a1d-b20e56ab5405': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3691ec7f-fc27-431f-9a1d-b20e56ab5405","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"8e0f5cd1-0dea-4437-971e-a178309971ca","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.7176428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61097b01-a7b1-452e-bb51-4ae6cac4f701","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.7179217} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0587bad91c3b73f23a843369d66b68be","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26f8e910-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/bc11c748-ab90-4cf3-b048-4358206f4a76"},{"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405"}}},"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":"356bc4fff614946d55406810e1c75ecb","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76"},{"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"3691ec7f-fc27-431f-9a1d-b20e56ab5405","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/3691ec7f-fc27-431f-9a1d-b20e56ab5405 204 57ms","method":"DELETE","requestID":"26f8e910-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":57,"status":204,"url":"/peerconnections/3691ec7f-fc27-431f-9a1d-b20e56ab5405"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc11c748-ab90-4cf3-b048-4358206f4a76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8fb19b0-20d7-4980-964d-07b9814b50f9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.7894366} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.348468,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76","object_type":"device","rebac_allow":false,"scope_allow":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":"2705e160-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling 200 14ms","method":"POST","requestID":"2705e160-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/bc11c748-ab90-4cf3-b048-4358206f4a76/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7df4df4-b23f-4262-92ec-baf6298f0d5a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7df4df4-b23f-4262-92ec-baf6298f0d5a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"2eec0d4b-23dd-47ad-b1e2-2c4cca1af35b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.7988393} 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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55dbfc6d-97d0-4669-868f-c97ae01dcc84","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.7990901} 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":"8f5e99f7ff1100c8e8cf289f1084411b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7ca1291-9c09-4a8b-b207-385d6bfc77f1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.8070145} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.96445,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30","object_type":"device","rebac_allow":false,"scope_allow":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":"27087970-18ec-11ef-b4a6-53fbcbef7f4b"},"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/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling 200 15ms","method":"POST","requestID":"27087970-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f5e99f7ff1100c8e8cf289f1084411b"} experiment-1 | {"level":"info","message":"DELETE /experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a 204 177ms","method":"DELETE","requestID":"8f5e99f7ff1100c8e8cf289f1084411b","responseTime":177,"status":204,"url":"/experiments/b7df4df4-b23f-4262-92ec-baf6298f0d5a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"0587bad91c3b73f23a843369d66b68be","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"0587bad91c3b73f23a843369d66b68be"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"356bc4fff614946d55406810e1c75ecb","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"356bc4fff614946d55406810e1c75ecb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1dff7a814aa6a8e6e2ea707d97ee1f3d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.665","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"161754f0eb50397409330428765f50c7"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.901531,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"1dff7a814aa6a8e6e2ea707d97ee1f3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2849","request_time":"0.685","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f14e1a2e5be5d7abe10eb7589bac113a"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3d39d831-a86b-49fd-80ab-c6a5bfe2ae30' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"19895674-b2b5-40bf-b6dd-731fe71971c7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.892585} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1dff7a814aa6a8e6e2ea707d97ee1f3d"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba4c8983-5776-4a51-9acc-26b34ad5f43d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.8973417} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bc11c748-ab90-4cf3-b048-4358206f4a76' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1dff7a814aa6a8e6e2ea707d97ee1f3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"14565f33-17a7-4a42-970a-f0cbb6b7be6a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.909106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08d7375d-2e42-41af-8779-5c7060affd02","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.909367} 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":"1dff7a814aa6a8e6e2ea707d97ee1f3d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.909082618Z"}]},"request_id":"36364262-3f15-4907-806c-1e4270ae268c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.912829} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1dff7a814aa6a8e6e2ea707d97ee1f3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"1dff7a814aa6a8e6e2ea707d97ee1f3d","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1dff7a814aa6a8e6e2ea707d97ee1f3d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e04d49efdb74ba45344822eb959f0a4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.745267,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458801,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMX0.9tTcSjI_vyoMOipBxIDqPY4KHSkWy4d42lHv38V7F54"} 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":"5e04d49efdb74ba45344822eb959f0a4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"52452354-675d-4185-a756-065ebae0dd93","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.9360876} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e04d49efdb74ba45344822eb959f0a4"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35567276-3a21-4cf3-82ec-eaf79dd103a4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.9411201} 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":"5e04d49efdb74ba45344822eb959f0a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"a444a57b-ac7e-463a-a899-18c3f3fcf986","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.950679} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccb2c302-9adc-44c5-a02b-2d3515c73332","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.9509335} 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":"5e04d49efdb74ba45344822eb959f0a4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.950649114Z"}]},"request_id":"b4add7d1-0171-4a1c-af24-399e27b35234","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458801.955144} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e04d49efdb74ba45344822eb959f0a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"5e04d49efdb74ba45344822eb959f0a4","responseTime":37,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e04d49efdb74ba45344822eb959f0a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMn0.3ans9Enoxu7Texn-sA4IKgvpDrolLA5O3CxxHLZ67ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7cb896ae331cbd115a975bcb479597f6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:42Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.33046,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458802,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMn0.3ans9Enoxu7Texn-sA4IKgvpDrolLA5O3CxxHLZ67ts"} 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":"7cb896ae331cbd115a975bcb479597f6"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.950649114Z"}]},"request_id":"f75d0cd0-71e0-4075-b52c-89f32db5ee8a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458802.4623241} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cb896ae331cbd115a975bcb479597f6"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf6718ca-b9a4-44ab-b55a-2d2240583c3a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458802.4696188} 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":"7cb896ae331cbd115a975bcb479597f6"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.950649114Z"}]},"request_id":"82bf922f-ba8c-4458-8cc4-6033e61d429d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458802.4911358} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7cb896ae331cbd115a975bcb479597f6"},"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":"23/May/2024:10:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/568f0111-6cc5-4106-9625-c82e76dc44b0 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7cb896ae331cbd115a975bcb479597f6"} device-1 | {"level":"info","message":"PATCH /devices/568f0111-6cc5-4106-9625-c82e76dc44b0 200 48ms","method":"PATCH","requestID":"7cb896ae331cbd115a975bcb479597f6","responseTime":48,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMn0.3ans9Enoxu7Texn-sA4IKgvpDrolLA5O3CxxHLZ67ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c60a29585af1cb42bab157567dbbc905","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:42Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.303911,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458802,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwMn0.3ans9Enoxu7Texn-sA4IKgvpDrolLA5O3CxxHLZ67ts"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c60a29585af1cb42bab157567dbbc905"},"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":"23/May/2024:10:06:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/568f0111-6cc5-4106-9625-c82e76dc44b0/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.5","requestID":"c60a29585af1cb42bab157567dbbc905"} device-1 | {"level":"info","message":"POST /devices/568f0111-6cc5-4106-9625-c82e76dc44b0/websocket 200 22ms","method":"POST","requestID":"c60a29585af1cb42bab157567dbbc905","responseTime":22,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0' 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":"8375f44e295dfc35e4f655d33a9a319b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/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":"8375f44e295dfc35e4f655d33a9a319b"} device-1 | {"level":"info","message":"OPTIONS /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/websocket 200 1ms","method":"OPTIONS","requestID":"8375f44e295dfc35e4f655d33a9a319b","responseTime":1,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwM30.wq_8Gwv_HlwtdB2vuIqk0-bU1C5YXcQVYCHHGBW8rKk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"95ba692dd84e3d4f74b205bc82ac4c63","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.207077,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458803,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwM30.wq_8Gwv_HlwtdB2vuIqk0-bU1C5YXcQVYCHHGBW8rKk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95ba692dd84e3d4f74b205bc82ac4c63"},"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a/websocket 200 38ms","method":"POST","requestID":"95ba692dd84e3d4f74b205bc82ac4c63","responseTime":38,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/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":"95ba692dd84e3d4f74b205bc82ac4c63"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a6671afdd4a7e42db12d86e84cc459b9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171771,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} 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":"a6671afdd4a7e42db12d86e84cc459b9"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.909082618Z"}]},"request_id":"7ec21c0f-88ae-4bf4-8fe4-bfc8da64165a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.0273237} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6671afdd4a7e42db12d86e84cc459b9"},"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a? 200 19ms","method":"GET","requestID":"a6671afdd4a7e42db12d86e84cc459b9","responseTime":19,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a?"} gateway-1 | {"time_local":"23/May/2024:10:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6671afdd4a7e42db12d86e84cc459b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63fca96f52294b3254f7023130bdce52","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323615,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63fca96f52294b3254f7023130bdce52"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.950649114Z"}]},"request_id":"7b3a286a-60e8-4676-a805-fa2097aae1cf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.0520577} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63fca96f52294b3254f7023130bdce52"},"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":"23/May/2024:10:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/568f0111-6cc5-4106-9625-c82e76dc44b0? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63fca96f52294b3254f7023130bdce52"} device-1 | {"level":"info","message":"GET /devices/568f0111-6cc5-4106-9625-c82e76dc44b0? 200 17ms","method":"GET","requestID":"63fca96f52294b3254f7023130bdce52","responseTime":17,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"02263757bfc50e6cb9d3571c1024f7f5","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:50018","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.186739,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} 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":"02263757bfc50e6cb9d3571c1024f7f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"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:50018","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.086147,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} 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":"286bb2f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2424,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} 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":"286c0110-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.909082618Z"}]},"request_id":"92c502b1-ca6c-4287-b02e-918ca3757774","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.1416066} 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":"286bb2f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.950649114Z"}]},"request_id":"e5665157-4df0-4597-907c-bfdebc492892","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.1430993} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"286c0110-18ec-11ef-b4a6-53fbcbef7f4b"},"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a? 200 26ms","method":"GET","requestID":"286bb2f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":26,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/568f0111-6cc5-4106-9625-c82e76dc44b0? 200 25ms","method":"GET","requestID":"286c0110-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":25,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"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:50018","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.781784,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28785d20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194245,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} 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":"2878ab40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a334e6b3-fd78-4348-bca7-962c85a3ebe3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.222741} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.743284,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","rebac_allow":false,"scope_allow":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":"28792070-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.909082618Z"}]},"request_id":"4f40697f-88ab-4ff4-a8d9-bd92392ce926","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.2259047} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.950649114Z"}]},"request_id":"e9d789e6-70c8-4208-8019-17b292680079","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.2276073} 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":"28785d20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2878ab40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff845b764-d823-484b-b302-55a80f77b9c8#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff845b764-d823-484b-b302-55a80f77b9c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"d5e5ebd4-8ac2-47e0-b66c-6d6844234a30","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.2374532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6577ecbb-2b84-497a-8830-ed040f95cacd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.237691} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling 200 23ms","method":"POST","requestID":"28792070-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02263757bfc50e6cb9d3571c1024f7f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"GET /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a? 200 31ms","method":"GET","requestID":"28785d20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":31,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/568f0111-6cc5-4106-9625-c82e76dc44b0? 200 33ms","method":"GET","requestID":"2878ab40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":33,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0fba190-c7d2-4a79-a76f-2b626c22c294","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.2484891} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.282702,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","rebac_allow":false,"scope_allow":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":"287d3f20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02263757bfc50e6cb9d3571c1024f7f5"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd1a39f7-6347-43bd-b022-b1d4809d6fe6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.2583616} experiment-1 | {"level":"info","message":"POST /experiments? 201 190ms","method":"POST","requestID":"02263757bfc50e6cb9d3571c1024f7f5","responseTime":190,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.759735,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} device-1 | {"level":"info","message":"POST /devices/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling 200 16ms","method":"POST","requestID":"287d3f20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","rebac_allow":false,"scope_allow":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":"287e9eb0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cacd863137a3ddcd4f5e8b429b46d0a1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling 200 15ms","method":"POST","requestID":"287e9eb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017808,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cacd863137a3ddcd4f5e8b429b46d0a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"debc1e60-650c-4621-8c98-0d84fbc5f429","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.2743232} authorization-1 | {"client_addr":"127.0.0.1:60252","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.04848,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","rebac_allow":false,"scope_allow":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":"288136c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.909082618Z"}]},"request_id":"afea7e28-ec91-41a5-a445-c9062015d65f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.2769997} 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":"cacd863137a3ddcd4f5e8b429b46d0a1"},"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/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling 200 15ms","method":"POST","requestID":"288136c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"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":"50931998-8de1-492b-9f33-2427fc52284a"},{"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":"e4cba50a-6d15-46d0-acfa-aa389a8c65c9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3f07fb1d-23e2-45c3-8e25-1dea5eab7e02"}]},"level":"info","message":"Built pairwise service configurations"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/568f0111-6cc5-4106-9625-c82e76dc44b0"},{"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"23/May/2024:10:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cacd863137a3ddcd4f5e8b429b46d0a1"} device-1 | {"level":"info","message":"GET /devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a? 200 19ms","method":"GET","requestID":"cacd863137a3ddcd4f5e8b429b46d0a1","responseTime":19,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.60272,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73e04214c21a8b6e7587441f19466b57","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} 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":"2883f5e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945849,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458804,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNH0.jdDqwDvWniIJlQrsFtTmv7lGaYVJjceMWCEwxThe_Co"} 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":"73e04214c21a8b6e7587441f19466b57"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:41.950649114Z"}]},"request_id":"ab308108-67ed-4cad-b097-e502250c00e8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.3000076} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73e04214c21a8b6e7587441f19466b57"},"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":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"0b9d527e-5881-432e-b5ea-eaaa8ef04a21","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.3037753} gateway-1 | {"time_local":"23/May/2024:10:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/568f0111-6cc5-4106-9625-c82e76dc44b0? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73e04214c21a8b6e7587441f19466b57"} device-1 | {"level":"info","message":"GET /devices/568f0111-6cc5-4106-9625-c82e76dc44b0? 200 13ms","method":"GET","requestID":"73e04214c21a8b6e7587441f19466b57","responseTime":13,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da599e53-54b5-4862-8bca-3177cfec6233","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.3042302} 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":"2883f5e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/cf664292-fe19-43bb-ad7a-e37b08700169'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169'"} 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":"2883f5e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e72a54a2-fbce-4e7f-bcfa-d4ea54829f71","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.3627317} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.626715,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"288ef260-18ec-11ef-b4a6-53fbcbef7f4b"},"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling 200 10ms","method":"POST","requestID":"288ef260-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6dc3e5e7-4bde-4d3e-9752-25faf9c43c52","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458804.374699} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179163,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","rebac_allow":false,"scope_allow":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":"2890c720-18ec-11ef-b4a6-53fbcbef7f4b"},"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/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling 200 8ms","method":"POST","requestID":"2890c720-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling"} device-1 | {"data":{"peerconnection":"cf664292-fe19-43bb-ad7a-e37b08700169","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/cf664292-fe19-43bb-ad7a-e37b08700169' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cf664292-fe19-43bb-ad7a-e37b08700169","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":"af7bdc2e4acb06093f619575ed30d1e5","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/568f0111-6cc5-4106-9625-c82e76dc44b0"},{"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"af7bdc2e4acb06093f619575ed30d1e5","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"af7bdc2e4acb06093f619575ed30d1e5"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a'"} device-1 | {"data":{"peerconnection":"cf664292-fe19-43bb-ad7a-e37b08700169","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"cf664292-fe19-43bb-ad7a-e37b08700169","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/cf664292-fe19-43bb-ad7a-e37b08700169' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cf664292-fe19-43bb-ad7a-e37b08700169","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":"3bf4227253c2ccc62621d35b2f764224","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/568f0111-6cc5-4106-9625-c82e76dc44b0"},{"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcf664292-fe19-43bb-ad7a-e37b08700169","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e61d5b8-09f7-497e-8b0a-d23408bab9cb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.4930506} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.047259,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169","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":"29d3a760-18ec-11ef-b4a6-53fbcbef7f4b"},"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/cf664292-fe19-43bb-ad7a-e37b08700169 200 13ms","method":"GET","requestID":"29d3a760-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"3bf4227253c2ccc62621d35b2f764224","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"3bf4227253c2ccc62621d35b2f764224"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"094fbe49-8ae2-4dd0-b5a7-e5e8080d61d5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.529918} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.600599,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","rebac_allow":false,"scope_allow":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":"29d94cb0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling 200 14ms","method":"POST","requestID":"29d94cb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbec5655-6fc2-4626-920f-cb432ea65f2c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.5461705} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.399917,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"29dbe4c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling 200 17ms","method":"POST","requestID":"29dbe4c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1e3e9f66312bbcdbbeb103c9bbd021b2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f845b764-d823-484b-b302-55a80f77b9c8"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.36869,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458806,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o"} 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":"1e3e9f66312bbcdbbeb103c9bbd021b2"},"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/f845b764-d823-484b-b302-55a80f77b9c8"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f845b764-d823-484b-b302-55a80f77b9c8 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e3e9f66312bbcdbbeb103c9bbd021b2"} experiment-1 | {"level":"info","message":"GET /experiments/f845b764-d823-484b-b302-55a80f77b9c8 200 15ms","method":"GET","requestID":"1e3e9f66312bbcdbbeb103c9bbd021b2","responseTime":15,"status":200,"url":"/experiments/f845b764-d823-484b-b302-55a80f77b9c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"281311c72e660f0d9169ca31d56944b4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f845b764-d823-484b-b302-55a80f77b9c8"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.141539,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458806,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o"} 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":"281311c72e660f0d9169ca31d56944b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.140406,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458806,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o"} 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":"29e50c80-18ec-11ef-b4a6-53fbcbef7f4b"},"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/cf664292-fe19-43bb-ad7a-e37b08700169' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cf664292-fe19-43bb-ad7a-e37b08700169","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcf664292-fe19-43bb-ad7a-e37b08700169': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcf664292-fe19-43bb-ad7a-e37b08700169","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"9dab822c-f144-442c-a644-5a187b9c37c0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.625164} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8ed8c3c6af2f8588899912124c8d3dd1","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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3c476e0-139d-4aff-9a84-c3f6355904e6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.6258738} 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/568f0111-6cc5-4106-9625-c82e76dc44b0"},{"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 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":"29e50c80-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4ebdec1e0097e9c8181a5945691ea2d6","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":"closed","url":"http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0"},{"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"cf664292-fe19-43bb-ad7a-e37b08700169","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/cf664292-fe19-43bb-ad7a-e37b08700169 204 53ms","method":"DELETE","requestID":"29e50c80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":53,"status":204,"url":"/peerconnections/cf664292-fe19-43bb-ad7a-e37b08700169"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f845b764-d823-484b-b302-55a80f77b9c8"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F568f0111-6cc5-4106-9625-c82e76dc44b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"202c1e0e-5115-4504-9e59-2d0b666e1873","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.6843538} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.19746,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/568f0111-6cc5-4106-9625-c82e76dc44b0","object_type":"device","rebac_allow":false,"scope_allow":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":"29f0a540-18ec-11ef-b4a6-53fbcbef7f4b"},"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/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling 200 16ms","method":"POST","requestID":"29f0a540-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/568f0111-6cc5-4106-9625-c82e76dc44b0/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff845b764-d823-484b-b302-55a80f77b9c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff845b764-d823-484b-b302-55a80f77b9c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"8c4174bc-a31e-4eea-b368-06c2996b9c8b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.6954992} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f68de1e3-8a7e-4495-a2cd-b5c3dee42879","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.6960926} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"281311c72e660f0d9169ca31d56944b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b5a0e84-5e63-4110-a044-84e1a1ce795a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"651a28bd-1d14-43ed-bde2-45980e9bada9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.707398} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.229934,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a","object_type":"device","rebac_allow":false,"scope_allow":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":"29f3d990-18ec-11ef-b4a6-53fbcbef7f4b"},"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/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling 200 19ms","method":"POST","requestID":"29f3d990-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f845b764-d823-484b-b302-55a80f77b9c8"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f845b764-d823-484b-b302-55a80f77b9c8 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":"281311c72e660f0d9169ca31d56944b4"} experiment-1 | {"level":"info","message":"DELETE /experiments/f845b764-d823-484b-b302-55a80f77b9c8 204 175ms","method":"DELETE","requestID":"281311c72e660f0d9169ca31d56944b4","responseTime":175,"status":204,"url":"/experiments/f845b764-d823-484b-b302-55a80f77b9c8"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.233","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d56db6503c4c5f2e536319d836168404"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"8ed8c3c6af2f8588899912124c8d3dd1","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ed8c3c6af2f8588899912124c8d3dd1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"4ebdec1e0097e9c8181a5945691ea2d6","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ebdec1e0097e9c8181a5945691ea2d6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e5ef868ebc4a6c85c6a268cb6ee5167","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.780","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a458ec523d954327c0f84c3c084448fa"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.111984,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458806,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o"} 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":"5e5ef868ebc4a6c85c6a268cb6ee5167"},"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/568f0111-6cc5-4106-9625-c82e76dc44b0' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2b5a0e84-5e63-4110-a044-84e1a1ce795a' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4f27b3f0-6f7e-4e2e-9457-918734ffc67d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.788761} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e5ef868ebc4a6c85c6a268cb6ee5167"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44200d77-ebd1-4664-b163-e6901b1f993b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.79388} 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":"5e5ef868ebc4a6c85c6a268cb6ee5167"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"8358a8f0-44a8-4c7e-ba56-a16920c9c500","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.8048158} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49f1a8b0-009f-4ea9-82cf-95a2a4d5103d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.8050802} 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":"5e5ef868ebc4a6c85c6a268cb6ee5167"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.804791471Z"}]},"request_id":"3ce1ed2c-d2cb-477e-b587-fae76b8c4807","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.8089926} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e5ef868ebc4a6c85c6a268cb6ee5167"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e5ef868ebc4a6c85c6a268cb6ee5167"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"5e5ef868ebc4a6c85c6a268cb6ee5167","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"610c7ffa864324d2e5962540bdd62f6a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.862765,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458806,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwNn0.HuBNJjF_9cDeFuHa4yMl2fIOkOy91cn4idlYABIjs4o"} 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":"610c7ffa864324d2e5962540bdd62f6a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4701ce58-1db2-4056-88ec-a8df5f7158ac","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.8335023} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"610c7ffa864324d2e5962540bdd62f6a"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"854ac4a5-b55b-4e3e-8c4b-e89c352e1294","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.8380272} 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":"610c7ffa864324d2e5962540bdd62f6a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"58a7888b-03cb-48d7-a750-3977f0692055","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.846797} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66a206c0-da15-4a44-9e14-948ecb757fa9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.8470683} 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":"610c7ffa864324d2e5962540bdd62f6a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.846775633Z"}]},"request_id":"39d11243-72cd-4b34-8bf2-7693f18def39","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458806.851417} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"610c7ffa864324d2e5962540bdd62f6a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"610c7ffa864324d2e5962540bdd62f6a"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"610c7ffa864324d2e5962540bdd62f6a","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwN30.NlDsG_DFPaKd6SlBU5n3gn-gql8LyIcWztNb2IKukII","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1733c33b8e9ab3cebb137a030a766ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822005,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458807,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwN30.NlDsG_DFPaKd6SlBU5n3gn-gql8LyIcWztNb2IKukII"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1733c33b8e9ab3cebb137a030a766ed"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.846775633Z"}]},"request_id":"fa139cbd-d364-4a58-aa37-b964b9336ff8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458807.352321} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1733c33b8e9ab3cebb137a030a766ed"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"209f0b17-641f-4d4e-b9b0-e3169e91cac7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458807.3573248} 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":"e1733c33b8e9ab3cebb137a030a766ed"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.846775633Z"}]},"request_id":"fa310c7f-ec8e-4224-b697-c14b1a0ccec9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458807.3728225} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1733c33b8e9ab3cebb137a030a766ed"},"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":"23/May/2024:10:06:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e1733c33b8e9ab3cebb137a030a766ed"} device-1 | {"level":"info","message":"PATCH /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3 200 38ms","method":"PATCH","requestID":"e1733c33b8e9ab3cebb137a030a766ed","responseTime":38,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwN30.NlDsG_DFPaKd6SlBU5n3gn-gql8LyIcWztNb2IKukII","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a951bceb5d0d01329dadcca9d05da51c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:47Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087683,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458807,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwN30.NlDsG_DFPaKd6SlBU5n3gn-gql8LyIcWztNb2IKukII"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a951bceb5d0d01329dadcca9d05da51c"},"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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/websocket 200 19ms","method":"POST","requestID":"a951bceb5d0d01329dadcca9d05da51c","responseTime":19,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a951bceb5d0d01329dadcca9d05da51c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3' 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":"e14138a2e15d379ccee68d0c8b50c90d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/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":"e14138a2e15d379ccee68d0c8b50c90d"} device-1 | {"level":"info","message":"OPTIONS /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/websocket 200 1ms","method":"OPTIONS","requestID":"e14138a2e15d379ccee68d0c8b50c90d","responseTime":1,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a7e179182c31614eb47cd408928f1384","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183657,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7e179182c31614eb47cd408928f1384"},"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":"23/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/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":"a7e179182c31614eb47cd408928f1384"} device-1 | {"level":"info","message":"POST /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/websocket 200 36ms","method":"POST","requestID":"a7e179182c31614eb47cd408928f1384","responseTime":36,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9bc95083e72de6d1f2c92f0db75de5e5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204008,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bc95083e72de6d1f2c92f0db75de5e5"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.804791471Z"}]},"request_id":"d74eb3f4-0280-456e-a66f-0df6a2c9dabb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458808.9208627} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9bc95083e72de6d1f2c92f0db75de5e5"},"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":"23/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bc95083e72de6d1f2c92f0db75de5e5"} device-1 | {"level":"info","message":"GET /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715? 200 17ms","method":"GET","requestID":"9bc95083e72de6d1f2c92f0db75de5e5","responseTime":17,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dfc3624823753227ef489c835b4e1cab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147079,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfc3624823753227ef489c835b4e1cab"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.846775633Z"}]},"request_id":"a2c66b71-7478-417d-999a-e956996b11c8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458808.9450603} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfc3624823753227ef489c835b4e1cab"},"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":"23/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfc3624823753227ef489c835b4e1cab"} device-1 | {"level":"info","message":"GET /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3? 200 17ms","method":"GET","requestID":"dfc3624823753227ef489c835b4e1cab","responseTime":17,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bb360c01f9a82aa8357ecabac96fed07","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:50018","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.281637,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} 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":"bb360c01f9a82aa8357ecabac96fed07"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"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:50018","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.587219,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} 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":"2b542ce0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088724,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} 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":"2b547b00-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.804791471Z"}]},"request_id":"d7706c70-4991-483e-ba7f-94a3aac1a738","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.016017} 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":"2b542ce0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.846775633Z"}]},"request_id":"d6fef63e-a13a-4bd8-bf94-0b9b8568dc34","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.0221586} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b547b00-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"GET /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715? 200 18ms","method":"GET","requestID":"2b542ce0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3? 200 20ms","method":"GET","requestID":"2b547b00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"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:50018","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690056,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b5fecb0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838113,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} 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":"2b603ad0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.017045,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f75b554-c351-478e-9db0-7de1ad64f870","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.0966275} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","rebac_allow":false,"scope_allow":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":"2b60b000-18ec-11ef-b4a6-53fbcbef7f4b"},"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling 200 17ms","method":"POST","requestID":"2b60b000-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.846775633Z"}]},"request_id":"911ba3e5-ce93-4bb5-87bd-09dd924bb0f4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1042593} 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":"2b603ad0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.804791471Z"}]},"request_id":"5b3195e6-7baa-43a9-9b8e-86965bfcb097","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.106026} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b5fecb0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d7f76f4-c1c9-416e-90bc-4a086c30e53b#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d7f76f4-c1c9-416e-90bc-4a086c30e53b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"a6b4aa71-eaa9-4d09-9deb-d5a7b12f879d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1102104} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b765bdeb-4dbc-46d1-af11-92d1d7b0a8dd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1107287} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715? 200 30ms","method":"GET","requestID":"2b5fecb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":30,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715?"} 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":"bb360c01f9a82aa8357ecabac96fed07"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccdc3c2b-296b-4461-adb6-760fd9b54a9e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1133482} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.661199,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} device-1 | {"level":"info","message":"GET /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3? 200 29ms","method":"GET","requestID":"2b603ad0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":29,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b63bd40-18ec-11ef-b4a6-53fbcbef7f4b"},"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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling 200 9ms","method":"POST","requestID":"2b63bd40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"23/May/2024:10:06:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb360c01f9a82aa8357ecabac96fed07"} experiment-1 | {"level":"info","message":"POST /experiments? 201 161ms","method":"POST","requestID":"bb360c01f9a82aa8357ecabac96fed07","responseTime":161,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68e92b46-e12e-4135-a8f9-bc0402d55e93","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1225421} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.99333,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b6543e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOX0.QMedKdckFDxMUs8tXUXLaBDas9OOtC91i2sbF9JdV9Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87aeca7963c3ea6b8c7ab1acde831298","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling 200 11ms","method":"POST","requestID":"2b6543e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.030524,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458809,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOX0.QMedKdckFDxMUs8tXUXLaBDas9OOtC91i2sbF9JdV9Q"} 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":"87aeca7963c3ea6b8c7ab1acde831298"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.804791471Z"}]},"request_id":"f3ae4f08-fc27-49bc-a02f-220d39335124","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.135859} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bcf478a-fe4c-4ea6-9dc3-c6daac2dd575","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1359303} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87aeca7963c3ea6b8c7ab1acde831298"},"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:50018","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.436804,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b673fb0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:06:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87aeca7963c3ea6b8c7ab1acde831298"} device-1 | {"level":"info","message":"GET /devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715? 200 15ms","method":"GET","requestID":"87aeca7963c3ea6b8c7ab1acde831298","responseTime":15,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling 200 12ms","method":"POST","requestID":"2b673fb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"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":"d58ef050-c2d0-4553-b207-1a6eae68d0bd"},{"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":"3bafe7f7-60ff-4379-bb07-f5f343481106"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dc753d6f-364d-43fc-b258-8391d0f2787b"}]},"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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3"},{"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOX0.QMedKdckFDxMUs8tXUXLaBDas9OOtC91i2sbF9JdV9Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82c11df84da517f8dbe2cd827f687363","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.660018,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458808,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOH0.Pkeg8XsrR7LMvLlIBPLydPadQQdeuHktqsU4-Ne2JOs"} 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":"2b6989a0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601441,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458809,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgwOX0.QMedKdckFDxMUs8tXUXLaBDas9OOtC91i2sbF9JdV9Q"} 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":"82c11df84da517f8dbe2cd827f687363"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:46.846775633Z"}]},"request_id":"d50ee3fc-cd06-41ec-8060-6d214ded748d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1551702} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82c11df84da517f8dbe2cd827f687363"},"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":"23/May/2024:10:06:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82c11df84da517f8dbe2cd827f687363"} device-1 | {"level":"info","message":"GET /devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3? 200 11ms","method":"GET","requestID":"82c11df84da517f8dbe2cd827f687363","responseTime":11,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"5a25892b-8aa0-4c16-843d-c2a6aeffdfa3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.1587691} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6eda2cbe-6bf4-4eb2-b437-3a03d352a83b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.159032} 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":"2b6989a0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713'"} 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":"2b6989a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cdd40b3-4e69-41a4-8048-8dfc426f749c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.2121918} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.402583,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","rebac_allow":false,"scope_allow":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":"2b72d870-18ec-11ef-b4a6-53fbcbef7f4b"},"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling 200 9ms","method":"POST","requestID":"2b72d870-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f26a979e-ad18-4b0d-8611-0ae25b3ce6ae","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458809.22298} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.345583,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","rebac_allow":false,"scope_allow":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":"2b748620-18ec-11ef-b4a6-53fbcbef7f4b"},"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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling 200 9ms","method":"POST","requestID":"2b748620-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling"} device-1 | {"data":{"peerconnection":"82c5bfce-b16b-45f0-9f0e-e77b4d035713","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/82c5bfce-b16b-45f0-9f0e-e77b4d035713' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82c5bfce-b16b-45f0-9f0e-e77b4d035713","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":"5131686726d725f53ff8a4ed102d400d","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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3"},{"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"5131686726d725f53ff8a4ed102d400d","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"5131686726d725f53ff8a4ed102d400d"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715'"} device-1 | {"data":{"peerconnection":"82c5bfce-b16b-45f0-9f0e-e77b4d035713","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"82c5bfce-b16b-45f0-9f0e-e77b4d035713","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/82c5bfce-b16b-45f0-9f0e-e77b4d035713' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82c5bfce-b16b-45f0-9f0e-e77b4d035713","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":"e46b745cb641a1881c0fdca630bef460","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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3"},{"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82c5bfce-b16b-45f0-9f0e-e77b4d035713","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8699c98-5ce9-4e82-9b9c-cc6a212a5698","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.2960992} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.908922,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713","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":"2cb0d6b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/82c5bfce-b16b-45f0-9f0e-e77b4d035713 200 9ms","method":"GET","requestID":"2cb0d6b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"e46b745cb641a1881c0fdca630bef460","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"e46b745cb641a1881c0fdca630bef460"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49a5ce8f-b520-4c47-b55b-bd6b3dcf4455","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.3242216} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.773139,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cb51c70-18ec-11ef-b4a6-53fbcbef7f4b"},"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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling 200 9ms","method":"POST","requestID":"2cb51c70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2251da2-d51e-4141-9b4c-dc7c73c8b855","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.334076} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.601704,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","rebac_allow":false,"scope_allow":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":"2cb6ca20-18ec-11ef-b4a6-53fbcbef7f4b"},"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling 200 7ms","method":"POST","requestID":"2cb6ca20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":7,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b8c56cec03e3b90b942df777ade5db7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.751869,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458811,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w"} 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":"2b8c56cec03e3b90b942df777ade5db7"},"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/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b8c56cec03e3b90b942df777ade5db7"} experiment-1 | {"level":"info","message":"GET /experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b 200 14ms","method":"GET","requestID":"2b8c56cec03e3b90b942df777ade5db7","responseTime":14,"status":200,"url":"/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53c6c2a108e4d529de0c8f804d09f93b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.632048,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458811,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53c6c2a108e4d529de0c8f804d09f93b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.915624,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458811,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w"} 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":"2cc37450-18ec-11ef-b4a6-53fbcbef7f4b"},"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/82c5bfce-b16b-45f0-9f0e-e77b4d035713' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"82c5bfce-b16b-45f0-9f0e-e77b4d035713","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":"f61e11b5996e83b54bc6538c2ab8c845","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82c5bfce-b16b-45f0-9f0e-e77b4d035713': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F82c5bfce-b16b-45f0-9f0e-e77b4d035713","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"c508286a-9df6-4c4a-8bc4-bbd3bd0b6564","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.4389255} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af834814-c437-407f-9dfa-7b8f8c66945d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.4392078} 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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3"},{"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bd4466ce30111bac6f7daedb1dd031a8","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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3"},{"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713"}}},"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":"2cc37450-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"data":{"peerconnection":"82c5bfce-b16b-45f0-9f0e-e77b4d035713","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/82c5bfce-b16b-45f0-9f0e-e77b4d035713 204 51ms","method":"DELETE","requestID":"2cc37450-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":51,"status":204,"url":"/peerconnections/82c5bfce-b16b-45f0-9f0e-e77b4d035713"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F83babc9e-9717-4c2a-9a0a-8d1d43009cc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5554e5b9-8017-4b4d-ac91-b7c2e1a2331e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.4927363} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.629135,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3","object_type":"device","rebac_allow":false,"scope_allow":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":"2ccebef0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling 200 12ms","method":"POST","requestID":"2ccebef0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/83babc9e-9717-4c2a-9a0a-8d1d43009cc3/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d7f76f4-c1c9-416e-90bc-4a086c30e53b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d7f76f4-c1c9-416e-90bc-4a086c30e53b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"dbe07693-0d8a-4ed7-a1f7-efda1f9c8591","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.500031} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84e4c619-d63b-4112-9c77-5b94860f8de2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.500318} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53c6c2a108e4d529de0c8f804d09f93b"},"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:50018","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc9aa4cc-e59d-484a-a60e-e1b1d0b62715","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e568ef5f-78cc-495b-8a55-f2b90dab60b9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.5065463} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.401004,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715","object_type":"device","rebac_allow":false,"scope_allow":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":"2cd0e1d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling 200 12ms","method":"POST","requestID":"2cd0e1d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53c6c2a108e4d529de0c8f804d09f93b"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.160","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"592404faf3639999a0cc452845b8ab08"} experiment-1 | {"level":"info","message":"DELETE /experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b 204 165ms","method":"DELETE","requestID":"53c6c2a108e4d529de0c8f804d09f93b","responseTime":165,"status":204,"url":"/experiments/7d7f76f4-c1c9-416e-90bc-4a086c30e53b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"f61e11b5996e83b54bc6538c2ab8c845","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"f61e11b5996e83b54bc6538c2ab8c845"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"bd4466ce30111bac6f7daedb1dd031a8","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"bd4466ce30111bac6f7daedb1dd031a8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26c3de9219fb11f96e338b4ffd68bb9e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.689","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da1df7d6a8ba3b7a7b7499320735b68f"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.045396,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458811,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w"} 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":"26c3de9219fb11f96e338b4ffd68bb9e"},"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/83babc9e-9717-4c2a-9a0a-8d1d43009cc3' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf083632-573d-4ead-a540-4ec757c554c4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.5993183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26c3de9219fb11f96e338b4ffd68bb9e"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ae6e4b1-5f2e-46b8-8050-e86f6e61f701","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.6038802} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fc9aa4cc-e59d-484a-a60e-e1b1d0b62715' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26c3de9219fb11f96e338b4ffd68bb9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"4dde9ccd-4e5c-459a-9246-8e7e0ee6b474","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.6128724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"668d2a45-a675-4039-99bd-0f9549b8192b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.6129274} 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":"26c3de9219fb11f96e338b4ffd68bb9e"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.612841086Z"}]},"request_id":"b5a28dcb-6a3e-49ad-8fd7-bd152934b8f4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.616934} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26c3de9219fb11f96e338b4ffd68bb9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26c3de9219fb11f96e338b4ffd68bb9e"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"26c3de9219fb11f96e338b4ffd68bb9e","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a8d142618a71e2748532fec7963791ef","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.784419,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458811,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMX0.i7cRePBmA4voDGT6fAEKc1Jf6u8Qh6qVumGsiV0bx5w"} 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":"a8d142618a71e2748532fec7963791ef"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ebe09427-0f9b-458a-8cf9-c15067627ceb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.6418114} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8d142618a71e2748532fec7963791ef"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d274b9b-2c61-4d92-b83d-eaefcc6c7fe2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.6468892} 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":"a8d142618a71e2748532fec7963791ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"4e87e35b-869f-42b9-a54c-78fb9fde151c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.6574314} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37b11f73-af96-497d-9b3c-0eb74ba08d85","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.657515} 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":"a8d142618a71e2748532fec7963791ef"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.657399214Z"}]},"request_id":"2f8dddae-841d-42bc-b381-50559df0f5e0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458811.661677} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8d142618a71e2748532fec7963791ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8d142618a71e2748532fec7963791ef"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"a8d142618a71e2748532fec7963791ef","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMn0.LDFIDEdCngzu9_ePVk9slt0Q3TpPtdRkueP_aRLMRK4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f5260be4ca96af566cf8e4d2f5c70f50","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825039,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458812,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMn0.LDFIDEdCngzu9_ePVk9slt0Q3TpPtdRkueP_aRLMRK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5260be4ca96af566cf8e4d2f5c70f50"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.612841086Z"}]},"request_id":"3d8882f7-fe6e-4a11-b7b5-d9b98a78c967","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458812.1467185} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5260be4ca96af566cf8e4d2f5c70f50"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"480a52e9-db33-4df7-8c65-18d7a0b686fd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458812.1519654} 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":"f5260be4ca96af566cf8e4d2f5c70f50"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.612841086Z"}]},"request_id":"a635e597-1e96-4b09-aa12-6bcc4a295206","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458812.1677861} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5260be4ca96af566cf8e4d2f5c70f50"},"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":"23/May/2024:10:06:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f5260be4ca96af566cf8e4d2f5c70f50"} device-1 | {"level":"info","message":"PATCH /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430 200 37ms","method":"PATCH","requestID":"f5260be4ca96af566cf8e4d2f5c70f50","responseTime":37,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMn0.LDFIDEdCngzu9_ePVk9slt0Q3TpPtdRkueP_aRLMRK4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"115f288b780133bf7289810885e010eb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:52Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.424599,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458812,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxMn0.LDFIDEdCngzu9_ePVk9slt0Q3TpPtdRkueP_aRLMRK4"} 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":"115f288b780133bf7289810885e010eb"},"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/39980fa0-d6c3-4b27-aa8e-c7f845472430/websocket 200 22ms","method":"POST","requestID":"115f288b780133bf7289810885e010eb","responseTime":22,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/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.5","requestID":"115f288b780133bf7289810885e010eb"} device-1 | {"level":"info","message":"device 'http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430' 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":"37c2256900a3cf580528b53da5e4c097","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b98c94e2-2676-4973-98f5-689b103d4caf/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":"37c2256900a3cf580528b53da5e4c097"} device-1 | {"level":"info","message":"OPTIONS /devices/b98c94e2-2676-4973-98f5-689b103d4caf/websocket 200 1ms","method":"OPTIONS","requestID":"37c2256900a3cf580528b53da5e4c097","responseTime":1,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0617e314a456713add9d58681979acc3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.262074,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0617e314a456713add9d58681979acc3"},"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":"23/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b98c94e2-2676-4973-98f5-689b103d4caf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0617e314a456713add9d58681979acc3"} device-1 | {"level":"info","message":"POST /devices/b98c94e2-2676-4973-98f5-689b103d4caf/websocket 200 31ms","method":"POST","requestID":"0617e314a456713add9d58681979acc3","responseTime":31,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3f54e215153734c1d9ac295bef0ed576","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.707476,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f54e215153734c1d9ac295bef0ed576"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.612841086Z"}]},"request_id":"10181486-9b39-4a84-95f8-3e13254475c8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.7298257} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f54e215153734c1d9ac295bef0ed576"},"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":"23/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f54e215153734c1d9ac295bef0ed576"} device-1 | {"level":"info","message":"GET /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430? 200 18ms","method":"GET","requestID":"3f54e215153734c1d9ac295bef0ed576","responseTime":18,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"687dbaf10dc02532a8d06cf20e38acca","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235262,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"687dbaf10dc02532a8d06cf20e38acca"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.657399214Z"}]},"request_id":"48e5c3d5-e833-4c83-b5de-424dd25900d4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.7554166} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"687dbaf10dc02532a8d06cf20e38acca"},"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/b98c94e2-2676-4973-98f5-689b103d4caf? 200 17ms","method":"GET","requestID":"687dbaf10dc02532a8d06cf20e38acca","responseTime":17,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf?"} gateway-1 | {"time_local":"23/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b98c94e2-2676-4973-98f5-689b103d4caf? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"687dbaf10dc02532a8d06cf20e38acca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1523aba05ceaf35e8af756160df5680b","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:50018","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.421926,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} 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":"1523aba05ceaf35e8af756160df5680b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"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:50018","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.755268,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e344260-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.349242,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e346970-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.612841086Z"}]},"request_id":"3b7f2cb1-75ab-44c4-a699-f7c0cab82850","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.8400528} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e344260-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.657399214Z"}]},"request_id":"ecb34d6b-5eb8-4c3b-a288-bde493d9dafc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.8414764} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e346970-18ec-11ef-b4a6-53fbcbef7f4b"},"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/39980fa0-d6c3-4b27-aa8e-c7f845472430? 200 15ms","method":"GET","requestID":"2e344260-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b98c94e2-2676-4973-98f5-689b103d4caf? 200 14ms","method":"GET","requestID":"2e346970-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"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:50018","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.771439,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} 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":"2e3ec9b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.355091,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} 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":"2e3f17d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.612841086Z"}]},"request_id":"f9b297ff-daf7-4348-b2b3-29cea7e02f68","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9175189} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e3ec9b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.657399214Z"}]},"request_id":"82595175-6c0d-41cc-918d-8614ca4da031","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9188168} authorization-1 | {"client_addr":"127.0.0.1:41996","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} 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":"2e3f17d0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb3e67cf-d29d-44d0-a460-e2c527e429b0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.922714} authorization-1 | {"client_addr":"127.0.0.1:41996","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.122995,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","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/39980fa0-d6c3-4b27-aa8e-c7f845472430? 200 28ms","method":"GET","requestID":"2e3ec9b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":28,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430?"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e3f65f0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c2d5482-0125-4714-8539-09c497da9aac#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c2d5482-0125-4714-8539-09c497da9aac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"170cb99a-a4e5-4ead-85a6-f87b2f74e7a5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9257057} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f642fd2-8b15-4db9-a56f-4d5b0f9d0309","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9264812} device-1 | {"level":"info","message":"GET /devices/b98c94e2-2676-4973-98f5-689b103d4caf? 200 28ms","method":"GET","requestID":"2e3f17d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":28,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf?"} 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":"1523aba05ceaf35e8af756160df5680b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling 200 34ms","method":"POST","requestID":"2e3f65f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":34,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"105121e5-b382-4dd9-94ff-366de187b32b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9414165} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.906446,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","rebac_allow":false,"scope_allow":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":"2e43f9d0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling 200 15ms","method":"POST","requestID":"2e43f9d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"1523aba05ceaf35e8af756160df5680b","responseTime":179,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1523aba05ceaf35e8af756160df5680b"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8debaa22-2c48-49c8-821e-2e5499acacfe","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9524229} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.644137,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw","level":"info","message":"auth send jwt"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e458070-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ce2b0433e5598e775f771e67d3022783","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b98c94e2-2676-4973-98f5-689b103d4caf/signaling 200 18ms","method":"POST","requestID":"2e458070-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cbfffdc-437c-4676-ad04-05073882768f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9595056} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.094688,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"2e470710-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55778","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126085,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce2b0433e5598e775f771e67d3022783"},"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/b98c94e2-2676-4973-98f5-689b103d4caf/signaling 200 14ms","method":"POST","requestID":"2e470710-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"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":"55a60193-2ef3-43ca-9ef6-4673bb7783df"},{"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":"cf29fd31-de7a-4a0d-b242-d3d5bcf98114"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f939786e-efa1-4e0c-96fd-050b4852018e"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.612841086Z"}]},"request_id":"c0642c56-af7b-4393-a39c-c4b5e35bd1b2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9680967} 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/b98c94e2-2676-4973-98f5-689b103d4caf"},{"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/39980fa0-d6c3-4b27-aa8e-c7f845472430"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce2b0433e5598e775f771e67d3022783"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} gateway-1 | {"time_local":"23/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce2b0433e5598e775f771e67d3022783"} device-1 | {"level":"info","message":"GET /devices/39980fa0-d6c3-4b27-aa8e-c7f845472430? 200 16ms","method":"GET","requestID":"ce2b0433e5598e775f771e67d3022783","responseTime":16,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.890063,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} 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":"2e499f20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be438e6f2ed876fa46c809ec42b4d897","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.011776,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458813,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxM30.3J7FXyph5Y7Royzd9O2Y5BB3AKLKV44OqEaZGip6JBw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be438e6f2ed876fa46c809ec42b4d897"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"2860fef5-2573-4fa9-8e7d-11ace04934a2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9863842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0f1a8c7-862b-438b-baa2-cb5242ce7d25","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9865654} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:51.657399214Z"}]},"request_id":"75116d28-377f-426d-bf45-d8e00734a019","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458813.9870095} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be438e6f2ed876fa46c809ec42b4d897"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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":"2e499f20-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b98c94e2-2676-4973-98f5-689b103d4caf? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be438e6f2ed876fa46c809ec42b4d897"} device-1 | {"level":"info","message":"GET /devices/b98c94e2-2676-4973-98f5-689b103d4caf? 200 13ms","method":"GET","requestID":"be438e6f2ed876fa46c809ec42b4d897","responseTime":13,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf?"} 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/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994'"} 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":"2e499f20-18ec-11ef-b4a6-53fbcbef7f4b","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/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:54Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ed0db8c-8b5f-4931-b89d-99b091a8de17","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458814.0438612} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.899782,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e53ff60-18ec-11ef-b4a6-53fbcbef7f4b"},"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/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling 200 11ms","method":"POST","requestID":"2e53ff60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:54Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ed6923b-ae4c-4fa2-8d95-4b9754f208cd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458814.055088} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.06669,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","rebac_allow":false,"scope_allow":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":"2e55fb30-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b98c94e2-2676-4973-98f5-689b103d4caf/signaling 200 8ms","method":"POST","requestID":"2e55fb30-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf/signaling"} device-1 | {"data":{"peerconnection":"f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","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/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","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":"8de04c449bd862b832631d0797ae960d","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf'"} 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/b98c94e2-2676-4973-98f5-689b103d4caf"},{"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/39980fa0-d6c3-4b27-aa8e-c7f845472430"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"8de04c449bd862b832631d0797ae960d","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"8de04c449bd862b832631d0797ae960d"} device-1 | {"data":{"peerconnection":"f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","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":"1f337bd3d329318b9f33654fd5e6f676","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/b98c94e2-2676-4973-98f5-689b103d4caf"},{"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/39980fa0-d6c3-4b27-aa8e-c7f845472430"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8bb53a0-6b1b-45c5-b6b2-71888ef1a994","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bd8a9ee-c3a5-4693-a9a0-4c704a54f904","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.2232738} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.798693,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","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":"2fa05580-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994 200 13ms","method":"GET","requestID":"2fa05580-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"1f337bd3d329318b9f33654fd5e6f676","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f337bd3d329318b9f33654fd5e6f676"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98d2c1ca-36c8-4c5e-a1d3-1b79c39ba4f5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.2625258} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.602037,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","rebac_allow":false,"scope_allow":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":"2fa67000-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b98c94e2-2676-4973-98f5-689b103d4caf/signaling 200 13ms","method":"POST","requestID":"2fa67000-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ac1f74a-9a1c-4813-aad2-55bd4c738639","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.278941} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.725856,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","rebac_allow":false,"scope_allow":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":"2fa8e100-18ec-11ef-b4a6-53fbcbef7f4b"},"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/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling 200 14ms","method":"POST","requestID":"2fa8e100-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"397be4248648282e7a3e22b0b37adb9c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3c2d5482-0125-4714-8539-09c497da9aac"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.177006,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458816,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q"} 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":"397be4248648282e7a3e22b0b37adb9c"},"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/3c2d5482-0125-4714-8539-09c497da9aac"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3c2d5482-0125-4714-8539-09c497da9aac HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"397be4248648282e7a3e22b0b37adb9c"} experiment-1 | {"level":"info","message":"GET /experiments/3c2d5482-0125-4714-8539-09c497da9aac 200 17ms","method":"GET","requestID":"397be4248648282e7a3e22b0b37adb9c","responseTime":17,"status":200,"url":"/experiments/3c2d5482-0125-4714-8539-09c497da9aac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bc91e2263c3cc55f9eece2b3fce17b08","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3c2d5482-0125-4714-8539-09c497da9aac"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.20257,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458816,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q"} 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":"bc91e2263c3cc55f9eece2b3fce17b08"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.266573,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458816,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q"} 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":"2fb2f320-18ec-11ef-b4a6-53fbcbef7f4b"},"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/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8bb53a0-6b1b-45c5-b6b2-71888ef1a994': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8bb53a0-6b1b-45c5-b6b2-71888ef1a994","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"2fddf4e4-e23f-431d-88af-338e299344b2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.3625255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc35e84d-9baf-4db9-9da7-e89e4236ebd3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.3631136} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fb2f320-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2c3cf45ef77b1fde301521a7a14d9803","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/b98c94e2-2676-4973-98f5-689b103d4caf"},{"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/39980fa0-d6c3-4b27-aa8e-c7f845472430"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994"}}},"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":"c92a6507fc9abd9adce62382d3650a89","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf"},{"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/39980fa0-d6c3-4b27-aa8e-c7f845472430"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"f8bb53a0-6b1b-45c5-b6b2-71888ef1a994","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/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994 204 61ms","method":"DELETE","requestID":"2fb2f320-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":61,"status":204,"url":"/peerconnections/f8bb53a0-6b1b-45c5-b6b2-71888ef1a994"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3c2d5482-0125-4714-8539-09c497da9aac"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb98c94e2-2676-4973-98f5-689b103d4caf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39a88180-4975-40fd-bf41-dfb8708667b8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.4321861} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.316746,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf","object_type":"device","rebac_allow":false,"scope_allow":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":"2fc03990-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b98c94e2-2676-4973-98f5-689b103d4caf/signaling 200 14ms","method":"POST","requestID":"2fc03990-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/b98c94e2-2676-4973-98f5-689b103d4caf/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c2d5482-0125-4714-8539-09c497da9aac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3c2d5482-0125-4714-8539-09c497da9aac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"8e9569bb-b1b7-4309-9684-d5728cd7d479","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.4401965} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5433c48-2771-4102-9e0c-527677f2e228","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.4407442} 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":"bc91e2263c3cc55f9eece2b3fce17b08"},"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:50018","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39980fa0-d6c3-4b27-aa8e-c7f845472430","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a9f88cb-838a-4214-b323-7c80c89e306d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.4471257} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.209765,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"2fc2d1a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling 200 12ms","method":"POST","requestID":"2fc2d1a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/39980fa0-d6c3-4b27-aa8e-c7f845472430/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3c2d5482-0125-4714-8539-09c497da9aac"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3c2d5482-0125-4714-8539-09c497da9aac HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc91e2263c3cc55f9eece2b3fce17b08"} experiment-1 | {"level":"info","message":"DELETE /experiments/3c2d5482-0125-4714-8539-09c497da9aac 204 181ms","method":"DELETE","requestID":"bc91e2263c3cc55f9eece2b3fce17b08","responseTime":181,"status":204,"url":"/experiments/3c2d5482-0125-4714-8539-09c497da9aac"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2801","request_time":"4.298","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2e7ecbd49105110004711786b6c74c07"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"2c3cf45ef77b1fde301521a7a14d9803","responseTime":139,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"c92a6507fc9abd9adce62382d3650a89","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"c92a6507fc9abd9adce62382d3650a89"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"2c3cf45ef77b1fde301521a7a14d9803"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9951126ede64917b596f076e06be625d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.822","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"654f8022cdeab6bc629a99e6bfe90d26"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.920136,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458816,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q"} 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":"9951126ede64917b596f076e06be625d"},"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/39980fa0-d6c3-4b27-aa8e-c7f845472430' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0c283f3a-fdd1-402d-bb66-8c22718d212a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.5329037} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9951126ede64917b596f076e06be625d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b98c94e2-2676-4973-98f5-689b103d4caf' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f252b67e-c017-4e3e-b429-d684789fc3b6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.5379543} 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":"9951126ede64917b596f076e06be625d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"4ef2f18f-ae1e-4db6-833f-5e194e0a1ecb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.5486803} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0e88a6a-c8f6-4931-919e-48210cdcdbc0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.548975} 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":"9951126ede64917b596f076e06be625d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.548645157Z"}]},"request_id":"06ba0aa4-f53e-4ba1-b78c-d9f3fd8703f0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.552843} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9951126ede64917b596f076e06be625d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9951126ede64917b596f076e06be625d"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"9951126ede64917b596f076e06be625d","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"84c78c6e7df1bbb6b5e60405251d9a8c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.74956,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458816,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxNn0.6q70Rubin-8GgDdUnlGI4PR2tRzezU0Sy89tS4IrV4Q"} 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":"84c78c6e7df1bbb6b5e60405251d9a8c"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5598c54-d0b0-4556-98e6-b74485cc6fd3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.5750592} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84c78c6e7df1bbb6b5e60405251d9a8c"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1274f364-273d-4cd8-b9c4-9b982ea3c046","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.5793138} 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":"84c78c6e7df1bbb6b5e60405251d9a8c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"15a458af-59a7-4e0d-b436-04352179e98c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.5884936} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d44aa1e4-c7b9-415a-8e95-4586551898e0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.588633} 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":"84c78c6e7df1bbb6b5e60405251d9a8c"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.588457224Z"}]},"request_id":"23f57f1a-966e-42fb-a363-6809826f2cef","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458816.5929375} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84c78c6e7df1bbb6b5e60405251d9a8c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84c78c6e7df1bbb6b5e60405251d9a8c"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"84c78c6e7df1bbb6b5e60405251d9a8c","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxN30.QJ-akmfPLQMYrQ-0Ad1UV72TsV0PmrfkIdWm5CrV_Cw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d20649fb517e935cf7878639e64bea96","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323318,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458817,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxN30.QJ-akmfPLQMYrQ-0Ad1UV72TsV0PmrfkIdWm5CrV_Cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d20649fb517e935cf7878639e64bea96"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.548645157Z"}]},"request_id":"733433b4-1f54-4998-903f-1ee2511cca8b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458817.0991998} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d20649fb517e935cf7878639e64bea96"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9956a4f5-81b9-4815-a293-5a4a661d5bd4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458817.1066892} 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":"d20649fb517e935cf7878639e64bea96"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.548645157Z"}]},"request_id":"96e71c0c-868f-44fa-8566-1739e76016dc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458817.1225796} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d20649fb517e935cf7878639e64bea96"},"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":"23/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b3c46a13-bec3-4766-913b-645f3bf5a707 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d20649fb517e935cf7878639e64bea96"} device-1 | {"level":"info","message":"PATCH /devices/b3c46a13-bec3-4766-913b-645f3bf5a707 200 40ms","method":"PATCH","requestID":"d20649fb517e935cf7878639e64bea96","responseTime":40,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxN30.QJ-akmfPLQMYrQ-0Ad1UV72TsV0PmrfkIdWm5CrV_Cw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d6ea58ba93eb15c2f5e59091ba8d7786","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163665,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458817,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxN30.QJ-akmfPLQMYrQ-0Ad1UV72TsV0PmrfkIdWm5CrV_Cw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6ea58ba93eb15c2f5e59091ba8d7786"},"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":"23/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b3c46a13-bec3-4766-913b-645f3bf5a707/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d6ea58ba93eb15c2f5e59091ba8d7786"} device-1 | {"level":"info","message":"POST /devices/b3c46a13-bec3-4766-913b-645f3bf5a707/websocket 200 21ms","method":"POST","requestID":"d6ea58ba93eb15c2f5e59091ba8d7786","responseTime":21,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707' 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":"c3c446d0f93f4290cf4e880d111cc171","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/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":"c3c446d0f93f4290cf4e880d111cc171"} device-1 | {"level":"info","message":"OPTIONS /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/websocket 200 1ms","method":"OPTIONS","requestID":"c3c446d0f93f4290cf4e880d111cc171","responseTime":1,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f383e09178cbb87ab3d685859c5ac1f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153491,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f383e09178cbb87ab3d685859c5ac1f"},"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/bc16bf06-53dc-475e-82ab-695ed7e5188e/websocket 200 39ms","method":"POST","requestID":"7f383e09178cbb87ab3d685859c5ac1f","responseTime":39,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/websocket"} gateway-1 | {"time_local":"23/May/2024:10:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7f383e09178cbb87ab3d685859c5ac1f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a6f88c22edadea7677b52daac512f1fa","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210072,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6f88c22edadea7677b52daac512f1fa"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.548645157Z"}]},"request_id":"a67cd217-d0e8-4831-9387-739ed3b31fe3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.6589844} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6f88c22edadea7677b52daac512f1fa"},"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/b3c46a13-bec3-4766-913b-645f3bf5a707? 200 17ms","method":"GET","requestID":"a6f88c22edadea7677b52daac512f1fa","responseTime":17,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707?"} gateway-1 | {"time_local":"23/May/2024:10:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3c46a13-bec3-4766-913b-645f3bf5a707? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6f88c22edadea7677b52daac512f1fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"82d4aa8fcb9de1c30fa40d8611430138","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.344402,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} 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":"82d4aa8fcb9de1c30fa40d8611430138"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.588457224Z"}]},"request_id":"54baaf27-6a35-4971-958e-46e450dfa16f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.6857672} 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":"82d4aa8fcb9de1c30fa40d8611430138"},"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/bc16bf06-53dc-475e-82ab-695ed7e5188e? 200 19ms","method":"GET","requestID":"82d4aa8fcb9de1c30fa40d8611430138","responseTime":19,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e?"} gateway-1 | {"time_local":"23/May/2024:10:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82d4aa8fcb9de1c30fa40d8611430138"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f05976a5a320a70471fe2ca1487562f7","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:50018","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.214843,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} 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":"f05976a5a320a70471fe2ca1487562f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"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:50018","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144793,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31248480-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.866168,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} 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":"3124d2a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.548645157Z"}]},"request_id":"7c0a5e90-da46-43b0-8ee0-4813b743aaa9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.77191} 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":"31248480-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.588457224Z"}]},"request_id":"0544fdf4-766b-4111-bb45-3634bcc65eff","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.777125} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3124d2a0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/b3c46a13-bec3-4766-913b-645f3bf5a707? 200 19ms","method":"GET","requestID":"31248480-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e? 200 21ms","method":"GET","requestID":"3124d2a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":21,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"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:50018","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.465181,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} 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":"31309270-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.415593,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} 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":"3130e090-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb6ef51c-d68e-4706-91f8-723a7ae70f19","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.8552058} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.548645157Z"}]},"request_id":"bf777906-a1bd-4408-ab11-741ec2257050","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.8569362} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.124005,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","rebac_allow":false,"scope_allow":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":"313155c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} 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":"31309270-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.588457224Z"}]},"request_id":"6fca276c-1813-4b61-a072-fffd2a34a97b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.8583806} 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":"3130e090-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea6e589b-0cc2-4687-84ec-27bcf1fcb20f#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea6e589b-0cc2-4687-84ec-27bcf1fcb20f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"33fa8d39-1298-4757-b8f1-3d8b44455f00","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.8664498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b786d8c3-1b4b-4119-9507-73d69c2c20fc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.8667326} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling 200 24ms","method":"POST","requestID":"313155c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f05976a5a320a70471fe2ca1487562f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"GET /devices/b3c46a13-bec3-4766-913b-645f3bf5a707? 200 30ms","method":"GET","requestID":"31309270-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":30,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e? 200 29ms","method":"GET","requestID":"3130e090-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":29,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9df93cf7-fef8-4caf-a815-45e68b4b7df4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.8779395} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.092864,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","rebac_allow":false,"scope_allow":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":"31357470-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 183ms","method":"POST","requestID":"f05976a5a320a70471fe2ca1487562f7","responseTime":183,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} gateway-1 | {"time_local":"23/May/2024:10:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f05976a5a320a70471fe2ca1487562f7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling 200 14ms","method":"POST","requestID":"31357470-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"831dd2c0-eaa1-4424-82d8-892f1557e75e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.8860552} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.45387,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M","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":"313685e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"da0c8627bce5b6ffe61566dd7c80e220","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/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling 200 16ms","method":"POST","requestID":"313685e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900588,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da0c8627bce5b6ffe61566dd7c80e220"},"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:50018","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.548645157Z"}]},"request_id":"f050f0bf-2408-4fe9-8201-29f0119665a4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.9012} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d807bdb-9669-430f-bf9e-df4e2e860963","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.901454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da0c8627bce5b6ffe61566dd7c80e220"},"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:50018","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.230544,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"31394500-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3c46a13-bec3-4766-913b-645f3bf5a707? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da0c8627bce5b6ffe61566dd7c80e220"} device-1 | {"level":"info","message":"GET /devices/b3c46a13-bec3-4766-913b-645f3bf5a707? 200 16ms","method":"GET","requestID":"da0c8627bce5b6ffe61566dd7c80e220","responseTime":16,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling 200 13ms","method":"POST","requestID":"31394500-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"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":"d72fccd6-183f-4d40-b0a7-9f725f38d8ad"},{"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":"45b270f4-9468-410b-9e70-309473942729"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7fe0cf20-3d88-4301-a17b-48ef0e62c6cb"}]},"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/b3c46a13-bec3-4766-913b-645f3bf5a707"},{"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/bc16bf06-53dc-475e-82ab-695ed7e5188e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8322debe4875eecb706cdf2ccb39daa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.752392,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} 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":"313bb600-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777983,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458818,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgxOH0.vqc_EB5txvTv2CvszNBhWBnYmKq-lvQm45ZFikDPE6M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8322debe4875eecb706cdf2ccb39daa"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:06:56.588457224Z"}]},"request_id":"470c3fef-9221-4cb5-bc3f-ab65c030d042","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.9223578} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8322debe4875eecb706cdf2ccb39daa"},"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":"23/May/2024:10:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8322debe4875eecb706cdf2ccb39daa"} device-1 | {"level":"info","message":"GET /devices/bc16bf06-53dc-475e-82ab-695ed7e5188e? 200 12ms","method":"GET","requestID":"c8322debe4875eecb706cdf2ccb39daa","responseTime":12,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"8e1be45c-e63c-4e60-9bf3-98f7176e7fbf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.9268107} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8c19814-e292-4024-bbcf-728d92e9d262","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.927329} 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":"313bb600-18ec-11ef-b4a6-53fbcbef7f4b"},"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/538429de-0784-46c2-a107-d8b693c71eca'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"313bb600-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbf0318f-f8b6-4b89-80ac-b639c4cd6ba4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458818.9875703} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.031647,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31466460-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling 200 12ms","method":"POST","requestID":"31466460-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:06:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca7dd040-334d-4ff4-a59d-b958e887a960","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458819.0008645} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346789,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:06:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","rebac_allow":false,"scope_allow":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":"31488740-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling 200 9ms","method":"POST","requestID":"31488740-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling"} device-1 | {"data":{"peerconnection":"538429de-0784-46c2-a107-d8b693c71eca","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/538429de-0784-46c2-a107-d8b693c71eca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"538429de-0784-46c2-a107-d8b693c71eca","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":"c9eb738c070ddfece1edf2772da4be0b","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/b3c46a13-bec3-4766-913b-645f3bf5a707"},{"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/bc16bf06-53dc-475e-82ab-695ed7e5188e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c9eb738c070ddfece1edf2772da4be0b","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"c9eb738c070ddfece1edf2772da4be0b"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e'"} device-1 | {"data":{"peerconnection":"538429de-0784-46c2-a107-d8b693c71eca","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"538429de-0784-46c2-a107-d8b693c71eca","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/538429de-0784-46c2-a107-d8b693c71eca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"538429de-0784-46c2-a107-d8b693c71eca","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":"c53c018c4764992e9fdc29bf2dcdbd8d","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/b3c46a13-bec3-4766-913b-645f3bf5a707"},{"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/bc16bf06-53dc-475e-82ab-695ed7e5188e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F538429de-0784-46c2-a107-d8b693c71eca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5af62ecb-6120-45b1-b063-44656fcec531","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.06749} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.42438,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca","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":"32839f50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/538429de-0784-46c2-a107-d8b693c71eca 200 10ms","method":"GET","requestID":"32839f50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/peerconnections/538429de-0784-46c2-a107-d8b693c71eca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"c53c018c4764992e9fdc29bf2dcdbd8d","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"c53c018c4764992e9fdc29bf2dcdbd8d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7d4724d-b3a4-4bae-a6f9-04b9f2e1c974","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.0960817} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.10879,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"32883330-18ec-11ef-b4a6-53fbcbef7f4b"},"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/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling 200 10ms","method":"POST","requestID":"32883330-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fd2e879-cefe-4d57-9914-fad7a881abfa","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.1091447} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.354839,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"328a07f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling 200 11ms","method":"POST","requestID":"328a07f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a2ce823fd4aa6ed1530e2e5954c54545","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.163112,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"a2ce823fd4aa6ed1530e2e5954c54545"},"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/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f 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":"a2ce823fd4aa6ed1530e2e5954c54545"} experiment-1 | {"level":"info","message":"GET /experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f 200 14ms","method":"GET","requestID":"a2ce823fd4aa6ed1530e2e5954c54545","responseTime":14,"status":200,"url":"/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6ebb7be38288f54796951247c6396566","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.103549,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"6ebb7be38288f54796951247c6396566"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.382358,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"32974e60-18ec-11ef-b4a6-53fbcbef7f4b"},"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/538429de-0784-46c2-a107-d8b693c71eca' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"538429de-0784-46c2-a107-d8b693c71eca","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":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F538429de-0784-46c2-a107-d8b693c71eca': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F538429de-0784-46c2-a107-d8b693c71eca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"55989150-5499-4e0c-abc0-2441f6e2ae8f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.2160716} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2a95445e0b68c81b33204d05e6163342","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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff1555b6-3eab-49e1-b2be-b16b6a2c64e8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.216604} 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/b3c46a13-bec3-4766-913b-645f3bf5a707"},{"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/bc16bf06-53dc-475e-82ab-695ed7e5188e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32974e60-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b22a3d9851ab3699c9d1785862e538a5","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/b3c46a13-bec3-4766-913b-645f3bf5a707"},{"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/bc16bf06-53dc-475e-82ab-695ed7e5188e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/538429de-0784-46c2-a107-d8b693c71eca"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"538429de-0784-46c2-a107-d8b693c71eca","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/538429de-0784-46c2-a107-d8b693c71eca 204 55ms","method":"DELETE","requestID":"32974e60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":55,"status":204,"url":"/peerconnections/538429de-0784-46c2-a107-d8b693c71eca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3c46a13-bec3-4766-913b-645f3bf5a707","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"872a5212-df8c-4574-b5bb-cbfceb35572d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.2756438} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.249296,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707","object_type":"device","rebac_allow":false,"scope_allow":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":"32a35c50-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea6e589b-0cc2-4687-84ec-27bcf1fcb20f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fea6e589b-0cc2-4687-84ec-27bcf1fcb20f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"850de417-0995-46d7-9db2-a75f3f0acba8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.2836547} device-1 | {"level":"info","message":"POST /devices/b3c46a13-bec3-4766-913b-645f3bf5a707/signaling 200 15ms","method":"POST","requestID":"32a35c50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/b3c46a13-bec3-4766-913b-645f3bf5a707/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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0382f806-e26d-4367-b7a0-d8ea10b07982","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.2843885} 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":"6ebb7be38288f54796951247c6396566"},"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:50018","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc16bf06-53dc-475e-82ab-695ed7e5188e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9769750-1143-4dd6-8ca4-82c9d9ce8661","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.29559} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.808554,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e","object_type":"device","rebac_allow":false,"scope_allow":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":"32a64280-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling 200 15ms","method":"POST","requestID":"32a64280-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/bc16bf06-53dc-475e-82ab-695ed7e5188e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ebb7be38288f54796951247c6396566"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.196","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f7c2ba2d25db69b4341f26dcdf4ca917"} experiment-1 | {"level":"info","message":"DELETE /experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f 204 176ms","method":"DELETE","requestID":"6ebb7be38288f54796951247c6396566","responseTime":176,"status":204,"url":"/experiments/ea6e589b-0cc2-4687-84ec-27bcf1fcb20f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"2a95445e0b68c81b33204d05e6163342","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"2a95445e0b68c81b33204d05e6163342"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"b22a3d9851ab3699c9d1785862e538a5","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"b22a3d9851ab3699c9d1785862e538a5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b48d434bcfb871dabdbb5d43a5b130c2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.16318,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.743","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8c2e2a503f752ab7204bbe386767b67e"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b3c46a13-bec3-4766-913b-645f3bf5a707' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"b48d434bcfb871dabdbb5d43a5b130c2"},"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/bc16bf06-53dc-475e-82ab-695ed7e5188e' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8f428172-679c-4713-a9c3-4b63ec8a5240","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.381273} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b48d434bcfb871dabdbb5d43a5b130c2"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33943ab6-c8f6-430b-bfdb-23e4c02dfbe3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.386833} 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":"b48d434bcfb871dabdbb5d43a5b130c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f91c9500-6ffa-4718-bdef-b15feb14fc2d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.3970726} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b860503-d10d-4524-bff7-729b9385be6e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.397441} 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":"b48d434bcfb871dabdbb5d43a5b130c2"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.397035375Z"}]},"request_id":"4d88cd60-a1ec-442a-8dc6-7018910ee14a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.402425} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b48d434bcfb871dabdbb5d43a5b130c2"},"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":"b48d434bcfb871dabdbb5d43a5b130c2","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b48d434bcfb871dabdbb5d43a5b130c2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf4e856ba92aa80dd5d15609a9addd53","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.783749,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"bf4e856ba92aa80dd5d15609a9addd53"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0fd021a6-506a-41da-885a-00c971b0e6e7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.426571} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf4e856ba92aa80dd5d15609a9addd53"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"154b51d4-a6e2-4697-98df-57a71f1e85a4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.4310343} 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":"bf4e856ba92aa80dd5d15609a9addd53"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"1966293f-d44f-49c8-9ad0-20018128ad89","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.4411857} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf7fb995-5f19-4786-845f-eeeabf1c1989","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.4413242} 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":"bf4e856ba92aa80dd5d15609a9addd53"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.441161654Z"}]},"request_id":"d60326ac-cd27-451d-8184-d44d98d6ab43","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.445334} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf4e856ba92aa80dd5d15609a9addd53"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf4e856ba92aa80dd5d15609a9addd53"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"bf4e856ba92aa80dd5d15609a9addd53","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"27f856c2bc0cf0390325a7ea3b2a346b","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7c46619b5c1de0130446fc80317c668b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.661114,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27f856c2bc0cf0390325a7ea3b2a346b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.573899,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c46619b5c1de0130446fc80317c668b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.397035375Z"}]},"request_id":"0250c6bf-7fab-4cf8-8156-f1682c3613a2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.9240148} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27f856c2bc0cf0390325a7ea3b2a346b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.441161654Z"}]},"request_id":"3ae87c01-cb93-493f-912a-dae6b093c732","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.92483} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c46619b5c1de0130446fc80317c668b"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e06b76b-cb9d-43b6-9ff0-d1b2d5686693","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.9305089} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7994c7dd-bc2d-44d9-aa38-cdae5481b041","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.9311697} 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":"27f856c2bc0cf0390325a7ea3b2a346b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} 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":"7c46619b5c1de0130446fc80317c668b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.441161654Z"}]},"request_id":"f3d72c16-8059-4679-a2d9-aaa1914db216","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.9346116} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c46619b5c1de0130446fc80317c668b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5936512f-7c53-40d7-a024-bb1e68f2a731 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7c46619b5c1de0130446fc80317c668b"} device-1 | {"level":"info","message":"PATCH /devices/5936512f-7c53-40d7-a024-bb1e68f2a731 200 21ms","method":"PATCH","requestID":"7c46619b5c1de0130446fc80317c668b","responseTime":21,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e8e31244abbaddb70872e0e21221894b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.020204,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"e8e31244abbaddb70872e0e21221894b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.397035375Z"}]},"request_id":"a1a657e1-fb03-45d0-bf9d-40d00809e439","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.95135} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27f856c2bc0cf0390325a7ea3b2a346b"},"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":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"27f856c2bc0cf0390325a7ea3b2a346b"} device-1 | {"level":"info","message":"PATCH /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0 200 40ms","method":"PATCH","requestID":"27f856c2bc0cf0390325a7ea3b2a346b","responseTime":40,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bf6184ada454eb45419758a8cdaeec79","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/5936512f-7c53-40d7-a024-bb1e68f2a731/websocket 200 17ms","method":"POST","requestID":"e8e31244abbaddb70872e0e21221894b","responseTime":17,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731/websocket"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5936512f-7c53-40d7-a024-bb1e68f2a731/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e8e31244abbaddb70872e0e21221894b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725647,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"bf6184ada454eb45419758a8cdaeec79"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"23/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bf6184ada454eb45419758a8cdaeec79"} device-1 | {"level":"info","message":"POST /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/websocket 200 10ms","method":"POST","requestID":"bf6184ada454eb45419758a8cdaeec79","responseTime":10,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"75538691d6f2ae375787e57fba240c3a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.390265,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458821,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMX0.8TWIKuPOENlNbobKloHR1H6_CaJt1xhfMTtoXg-FQxQ"} 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":"75538691d6f2ae375787e57fba240c3a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.397035375Z"}]},"request_id":"2467495d-379d-418b-ac06-8d075cfdab1a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458821.9970071} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75538691d6f2ae375787e57fba240c3a"},"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":"23/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75538691d6f2ae375787e57fba240c3a"} device-1 | {"level":"info","message":"GET /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0? 200 12ms","method":"GET","requestID":"75538691d6f2ae375787e57fba240c3a","responseTime":12,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f33c1920d95d767fdf9dc248fa19e228","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675501,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} 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":"f33c1920d95d767fdf9dc248fa19e228"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.441161654Z"}]},"request_id":"05a0cd61-1875-46b0-a83d-7815a4176dd9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.0133824} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f33c1920d95d767fdf9dc248fa19e228"},"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":"23/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5936512f-7c53-40d7-a024-bb1e68f2a731? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f33c1920d95d767fdf9dc248fa19e228"} device-1 | {"level":"info","message":"GET /devices/5936512f-7c53-40d7-a024-bb1e68f2a731? 200 12ms","method":"GET","requestID":"f33c1920d95d767fdf9dc248fa19e228","responseTime":12,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d3f1a8efab91c24696e6f85c80fa37b6","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:50018","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.70505,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} 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":"d3f1a8efab91c24696e6f85c80fa37b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"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:50018","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.257866,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"331de380-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94409,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} 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":"331e31a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.397035375Z"}]},"request_id":"ec311c82-2120-47a9-8707-ec62f2c849cd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.0828145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"331de380-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.441161654Z"}]},"request_id":"57ca1e79-184c-4dd7-a475-be2371f3d6a6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.0838754} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"331e31a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0? 200 18ms","method":"GET","requestID":"331de380-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5936512f-7c53-40d7-a024-bb1e68f2a731? 200 17ms","method":"GET","requestID":"331e31a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":17,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"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/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983689,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33275960-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836511,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} 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":"3327a780-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.59238,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3cdfc88-9f13-4a0b-94fd-5aa6bcf49408","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1491258} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","rebac_allow":false,"scope_allow":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":"33281cb0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.397035375Z"}]},"request_id":"ff00645c-1d8c-4bfa-925d-6dda58472ef4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1509385} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.441161654Z"}]},"request_id":"f03cda8a-68cd-47e7-b65b-5397642773ab","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.152122} 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":"33275960-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3327a780-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling 200 22ms","method":"POST","requestID":"33281cb0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a17336-f6f1-4360-b93a-57b1732e8f23#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a17336-f6f1-4360-b93a-57b1732e8f23","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"edbb978e-16e9-47c9-bc98-763187efdc23","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1613894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efcf243c-f87e-4769-a651-8b215b7b5d93","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1616514} device-1 | {"level":"info","message":"GET /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0? 200 28ms","method":"GET","requestID":"33275960-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":28,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5936512f-7c53-40d7-a024-bb1e68f2a731? 200 28ms","method":"GET","requestID":"3327a780-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":28,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731?"} 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":"d3f1a8efab91c24696e6f85c80fa37b6"},"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":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf6aa51a-4a6e-4387-b144-b4d3ad4ac947","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1714194} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.265091,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","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/c1a17336-f6f1-4360-b93a-57b1732e8f23","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"332c1450-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaeb5622-29e9-46ce-90d4-fdc508174a8c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1727293} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.366036,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} gateway-1 | {"time_local":"23/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3f1a8efab91c24696e6f85c80fa37b6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 149ms","method":"POST","requestID":"d3f1a8efab91c24696e6f85c80fa37b6","responseTime":149,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","rebac_allow":false,"scope_allow":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":"332c8980-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling 200 12ms","method":"POST","requestID":"332c1450-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dc6dbab113289e7de6f4b3c68489d1ac","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling 200 10ms","method":"POST","requestID":"332c8980-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658953,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} 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":"dc6dbab113289e7de6f4b3c68489d1ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfe79030-0bd6-4859-a184-dc493dd1e033","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1847177} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.061817,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","rebac_allow":false,"scope_allow":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":"332e8550-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.397035375Z"}]},"request_id":"8fee58cd-4302-4dd0-9a28-9ec74acf912e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.1885939} device-1 | {"level":"info","message":"POST /devices/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling 200 8ms","method":"POST","requestID":"332e8550-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731/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":"dc6dbab113289e7de6f4b3c68489d1ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"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":"e1087946-09eb-475e-9a4d-1cddf423b6cc"},{"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":"bc6ec4ab-60b8-469d-a78d-3f81fc8dccd9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"16ffdfd6-3d9c-4bfd-9345-b602ea3f8348"}]},"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/5936512f-7c53-40d7-a024-bb1e68f2a731"},{"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0"}],"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":"23/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc6dbab113289e7de6f4b3c68489d1ac"} device-1 | {"level":"info","message":"GET /devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0? 200 15ms","method":"GET","requestID":"dc6dbab113289e7de6f4b3c68489d1ac","responseTime":15,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.639583,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} 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":"33303300-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"510d2329abdead2c37c1677416d42546","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912595,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458822,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyMn0.oQ5xrfGU48ZORWebMRePEO_R1Hq7qdb1T13FT3ZZajA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"510d2329abdead2c37c1677416d42546"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"c6d66d33-5018-4a77-b0b8-fd5f5b6c5435","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.2075486} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f0ca4d2-bea2-45dc-a4c7-cf3c04054468","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.2077403} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:01.441161654Z"}]},"request_id":"22a3fdb7-e013-41bf-ae41-37c947bbea95","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.208402} 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":"33303300-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"510d2329abdead2c37c1677416d42546"},"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":"23/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5936512f-7c53-40d7-a024-bb1e68f2a731? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"510d2329abdead2c37c1677416d42546"} device-1 | {"level":"info","message":"GET /devices/5936512f-7c53-40d7-a024-bb1e68f2a731? 200 16ms","method":"GET","requestID":"510d2329abdead2c37c1677416d42546","responseTime":16,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731?"} 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/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd'"} 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":"33303300-18ec-11ef-b4a6-53fbcbef7f4b","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/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"731d2e54-8750-4c57-aade-c818cbf19572","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.2692466} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806236,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"333b2f80-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling 200 11ms","method":"POST","requestID":"333b2f80-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b65f98d-a185-4951-8e51-2c46a78799d6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458822.2831364} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.16604,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"333d2b50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling 200 12ms","method":"POST","requestID":"333d2b50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","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/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","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":"a5aaa5b07e7d8562cfe8d32d252049a6","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/5936512f-7c53-40d7-a024-bb1e68f2a731"},{"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"a5aaa5b07e7d8562cfe8d32d252049a6","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"a5aaa5b07e7d8562cfe8d32d252049a6"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","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":"3fd9f17e8ff56e1fbde7820daa290705","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/5936512f-7c53-40d7-a024-bb1e68f2a731"},{"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a5a5c7d-494f-43c1-8688-56ee916645a7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.371781} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.731356,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","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":"347bc5d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd 200 13ms","method":"GET","requestID":"347bc5d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"3fd9f17e8ff56e1fbde7820daa290705","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"3fd9f17e8ff56e1fbde7820daa290705"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76c0469d-7d64-4679-bc2e-f0b09b2ae210","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.4068284} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.946138,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","rebac_allow":false,"scope_allow":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":"34811d00-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling 200 14ms","method":"POST","requestID":"34811d00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7813732e-c8f0-4f38-87b5-3ed6738bdd64","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.4234095} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.7029,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","rebac_allow":false,"scope_allow":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":"3483b510-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling 200 13ms","method":"POST","requestID":"3483b510-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"81079042e4435248bb5c2e2440b3b5e2","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.170805,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458824,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s"} 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":"81079042e4435248bb5c2e2440b3b5e2"},"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/c1a17336-f6f1-4360-b93a-57b1732e8f23"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81079042e4435248bb5c2e2440b3b5e2"} experiment-1 | {"level":"info","message":"GET /experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23 200 16ms","method":"GET","requestID":"81079042e4435248bb5c2e2440b3b5e2","responseTime":16,"status":200,"url":"/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e7098b48f443d9c0ab46f08fc1968ca","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.295208,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458824,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s"} 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":"3e7098b48f443d9c0ab46f08fc1968ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.299868,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458824,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s"} 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":"348ed8a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"6a3dad41-5341-412e-99c0-8888f021fdd9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.519427} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6b80c20bd151c0a3b87bee9fcefc425e","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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"460bae03-d82a-4c0f-8e10-13cd57c08faf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.52028} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/5936512f-7c53-40d7-a024-bb1e68f2a731"},{"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd"}}},"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":"348ed8a0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"50b2f20db51e117e3d52753c9b924563","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":"closed","url":"http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731"},{"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd","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/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd 204 73ms","method":"DELETE","requestID":"348ed8a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":73,"status":204,"url":"/peerconnections/ab0bfe47-c7f5-4ae2-9b41-a37e61e2dfcd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5936512f-7c53-40d7-a024-bb1e68f2a731","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0674bea1-6184-41f3-b70a-de4899b23ed2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.5936437} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.869886,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5936512f-7c53-40d7-a024-bb1e68f2a731","object_type":"device","rebac_allow":false,"scope_allow":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":"349d7ea0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling 200 14ms","method":"POST","requestID":"349d7ea0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/5936512f-7c53-40d7-a024-bb1e68f2a731/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a17336-f6f1-4360-b93a-57b1732e8f23': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1a17336-f6f1-4360-b93a-57b1732e8f23","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"9c03827c-54dc-4f51-8fac-4cf64c63a07f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.5998852} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"945a8b14-3504-40af-af62-04a154c8371f","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.6001656} 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":"3e7098b48f443d9c0ab46f08fc1968ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfdbe3ee-f740-4e46-b090-a5af542d0bf1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.609689} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.018593,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"349fefa0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling 200 12ms","method":"POST","requestID":"349fefa0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23 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":"3e7098b48f443d9c0ab46f08fc1968ca"} experiment-1 | {"level":"info","message":"DELETE /experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23 204 184ms","method":"DELETE","requestID":"3e7098b48f443d9c0ab46f08fc1968ca","responseTime":184,"status":204,"url":"/experiments/c1a17336-f6f1-4360-b93a-57b1732e8f23"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.696","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b52a1cbbcd52076a133915556a178bfe"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.688","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"df265f9272c746d083171534f042fcf1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"6b80c20bd151c0a3b87bee9fcefc425e","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b80c20bd151c0a3b87bee9fcefc425e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"50b2f20db51e117e3d52753c9b924563","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"50b2f20db51e117e3d52753c9b924563"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a2ca65f8a3e9d8c969eebf7d57ae8f3","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/5936512f-7c53-40d7-a024-bb1e68f2a731' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.086325,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458824,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s"} 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":"0a2ca65f8a3e9d8c969eebf7d57ae8f3"},"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/9260ae95-7c15-4c9f-8bf5-2a202ad1e1c0' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e6160ebf-9e98-43ac-b94e-75d65930fc1b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.689711} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a2ca65f8a3e9d8c969eebf7d57ae8f3"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d52e5431-5c29-4400-8874-07e0aa413415","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.6953354} 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":"0a2ca65f8a3e9d8c969eebf7d57ae8f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"02e97634-1523-4490-a45c-e04692d14cfc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.7062774} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8493060-58af-4405-a5f0-7a6b5d96b26d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.7065883} 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":"0a2ca65f8a3e9d8c969eebf7d57ae8f3"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.706242919Z"}]},"request_id":"6ea9e3c7-6ae4-47a9-88d5-acb5e2eb69be","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.7114782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a2ca65f8a3e9d8c969eebf7d57ae8f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a2ca65f8a3e9d8c969eebf7d57ae8f3"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"0a2ca65f8a3e9d8c969eebf7d57ae8f3","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"02e5d1fce43cae6eb4f35d595f2c70c4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.700422,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458824,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNH0.gVmRRFyZ6QzhArYc-LbQMIiLcQBfS6aK2556iZxwr9s"} 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":"02e5d1fce43cae6eb4f35d595f2c70c4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"52374015-6717-4dbd-a4a1-4754b3cfd0ea","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.7358212} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02e5d1fce43cae6eb4f35d595f2c70c4"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d18f6a5-8c1c-442c-9b5c-af703112b622","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.7410367} 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":"02e5d1fce43cae6eb4f35d595f2c70c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f799ee4c-e6f6-4c0c-8423-217b45fef2ce","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.7505803} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acf27ed2-9576-4516-a508-6baa39e37371","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.750841} 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":"02e5d1fce43cae6eb4f35d595f2c70c4"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.750544294Z"}]},"request_id":"ec3f0517-c754-4557-accc-72a38c27c95a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458824.755473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02e5d1fce43cae6eb4f35d595f2c70c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"361","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02e5d1fce43cae6eb4f35d595f2c70c4"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"02e5d1fce43cae6eb4f35d595f2c70c4","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"02ee3916ec0b42ac2c94fe3ae02c32d1","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc4172949489c048b1812b47ee64e7f7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659282,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"02ee3916ec0b42ac2c94fe3ae02c32d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601841,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"fc4172949489c048b1812b47ee64e7f7"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.706242919Z"}]},"request_id":"0c9f2807-2736-4f81-9c71-2a5cb80e6272","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.2371206} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02ee3916ec0b42ac2c94fe3ae02c32d1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.750544294Z"}]},"request_id":"772821a4-a817-4bc1-8fcd-f1dc53b7e164","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.2377672} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc4172949489c048b1812b47ee64e7f7"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6db7253-5f37-4aaa-8111-e9bec02a90de","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.242249} 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":"02ee3916ec0b42ac2c94fe3ae02c32d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4fce73d4-e0a7-402d-b765-0c04a73768bd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.2447314} 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":"fc4172949489c048b1812b47ee64e7f7"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.750544294Z"}]},"request_id":"9d8bece5-af91-45c6-a747-35ed214e44b5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.2466586} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc4172949489c048b1812b47ee64e7f7"},"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/203b46d0-a38b-40b2-8ebb-858afdc79da2 200 22ms","method":"PATCH","requestID":"fc4172949489c048b1812b47ee64e7f7","responseTime":22,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2"} gateway-1 | {"time_local":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fc4172949489c048b1812b47ee64e7f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b69607f0894734207f4c8c1cc082db81","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.076683,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"b69607f0894734207f4c8c1cc082db81"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.706242919Z"}]},"request_id":"af618ec4-ebbd-449e-b38a-24904ad09a51","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.265804} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02ee3916ec0b42ac2c94fe3ae02c32d1"},"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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57 200 42ms","method":"PATCH","requestID":"02ee3916ec0b42ac2c94fe3ae02c32d1","responseTime":42,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57"} gateway-1 | {"time_local":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57 HTTP/1.1","status": "200","body_bytes_sent":"1132","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"02ee3916ec0b42ac2c94fe3ae02c32d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ec8286d34f6c6dd89cd300a6af62f03","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/203b46d0-a38b-40b2-8ebb-858afdc79da2/websocket 200 21ms","method":"POST","requestID":"b69607f0894734207f4c8c1cc082db81","responseTime":21,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/websocket"} gateway-1 | {"time_local":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b69607f0894734207f4c8c1cc082db81"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660243,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"9ec8286d34f6c6dd89cd300a6af62f03"},"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":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.012","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9ec8286d34f6c6dd89cd300a6af62f03"} device-1 | {"level":"info","message":"POST /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/websocket 200 9ms","method":"POST","requestID":"9ec8286d34f6c6dd89cd300a6af62f03","responseTime":9,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"00a8c9b07bfad44cff5be68a589ddde1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656774,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"00a8c9b07bfad44cff5be68a589ddde1"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.706242919Z"}]},"request_id":"8adc850c-fb14-468d-828f-578f0f66c549","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.3409646} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00a8c9b07bfad44cff5be68a589ddde1"},"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":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00a8c9b07bfad44cff5be68a589ddde1"} device-1 | {"level":"info","message":"GET /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57? 200 14ms","method":"GET","requestID":"00a8c9b07bfad44cff5be68a589ddde1","responseTime":14,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9578e041edec5cb128f4d4520fe01536","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278261,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9578e041edec5cb128f4d4520fe01536"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.750544294Z"}]},"request_id":"9e23f4ba-c7d3-4bb6-bcc7-42b0b235bbc1","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.3623445} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9578e041edec5cb128f4d4520fe01536"},"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":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9578e041edec5cb128f4d4520fe01536"} device-1 | {"level":"info","message":"GET /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2? 200 16ms","method":"GET","requestID":"9578e041edec5cb128f4d4520fe01536","responseTime":16,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ea401fe4f6707124067e37502fd6ca6","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:50018","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.32898,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"7ea401fe4f6707124067e37502fd6ca6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"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:50018","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927313,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"351ebc90-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618003,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"351ee3a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.706242919Z"}]},"request_id":"70e33559-06e4-4725-bf42-65c0a2258a7a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.441342} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"351ebc90-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.750544294Z"}]},"request_id":"57486ec4-bcb3-4b26-8825-1a97094328db","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.4422936} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"351ee3a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57? 200 13ms","method":"GET","requestID":"351ebc90-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2? 200 12ms","method":"GET","requestID":"351ee3a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"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:50018","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.988311,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051349,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"3528a7a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"3528f5c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.706242919Z"}]},"request_id":"0e159474-c4b2-4c5c-b9af-720e6a8ea91a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5135472} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3528a7a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.750544294Z"}]},"request_id":"eae8a985-1452-49bd-b350-3e3c8dec1b40","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5146801} authorization-1 | {"client_addr":"127.0.0.1:36828","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3528f5c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26400388-ceb3-406c-a9b1-4a671ea95724","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5166578} authorization-1 | {"client_addr":"127.0.0.1:36828","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.669391,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"352943e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57? 200 23ms","method":"GET","requestID":"3528a7a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":23,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a0b17ed-eccf-41c5-aee5-0032bb6ef003#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a0b17ed-eccf-41c5-aee5-0032bb6ef003","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"7d404a2f-aa19-4618-a0f3-bacf585f6841","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.521823} device-1 | {"level":"info","message":"GET /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2? 200 22ms","method":"GET","requestID":"3528f5c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b164a0a8-690e-45f8-94e7-1e35f74a574a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5221438} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ea401fe4f6707124067e37502fd6ca6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"POST /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling 200 22ms","method":"POST","requestID":"352943e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":22,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e18e4daa-b3ba-4eb7-b4a9-df545324d362","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5292552} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.977722,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} gateway-1 | {"time_local":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ea401fe4f6707124067e37502fd6ca6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 158ms","method":"POST","requestID":"7ea401fe4f6707124067e37502fd6ca6","responseTime":158,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","rebac_allow":false,"scope_allow":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":"352c9f40-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e111a92-0a00-4a44-a151-53887622e874","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5324423} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.235024,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"352d1470-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2be2436552c2e4fdbace55d39a456329","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling 200 16ms","method":"POST","requestID":"352c9f40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling 200 16ms","method":"POST","requestID":"352d1470-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":16,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748035,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"2be2436552c2e4fdbace55d39a456329"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36457fa1-77f1-4c63-b077-373001ee7d7e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.546202} authorization-1 | {"client_addr":"127.0.0.1:41998","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584659,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"352f5e60-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.706242919Z"}]},"request_id":"ac1ea67c-1d26-432b-8acf-eb895f808b47","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5500898} device-1 | {"level":"info","message":"POST /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling 200 8ms","method":"POST","requestID":"352f5e60-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/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":"2be2436552c2e4fdbace55d39a456329"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"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":"77514fac-bbfb-47e0-afb0-bf14f2976dde"},{"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":"4f121c4b-97bf-44b4-8943-56fb66e24439"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9ade77c0-191f-47bd-aeaf-81f8967ab078"}]},"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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57"},{"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/203b46d0-a38b-40b2-8ebb-858afdc79da2"}],"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":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2be2436552c2e4fdbace55d39a456329"} device-1 | {"level":"info","message":"GET /devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57? 200 14ms","method":"GET","requestID":"2be2436552c2e4fdbace55d39a456329","responseTime":14,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.779078,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35310c10-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ba6c41ea3a95dd591dfea202c8daa81","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718259,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458825,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyNX0.eyaKvpEpXdZL4nezCP1WfXHLaXHc988O5R7wM28DNSo"} 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":"7ba6c41ea3a95dd591dfea202c8daa81"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"6fe1eb40-ea9f-465f-82a4-1e8334652c44","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5658207} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b8c3a18-4e40-49c7-a61e-ef3175d6a300","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5660133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:04.750544294Z"}]},"request_id":"0e8dea01-e206-4dfe-b256-17bab803ef2d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.5665915} 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":"35310c10-18ec-11ef-b4a6-53fbcbef7f4b"},"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 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ba6c41ea3a95dd591dfea202c8daa81"},"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/203b46d0-a38b-40b2-8ebb-858afdc79da2? 200 33ms","method":"GET","requestID":"7ba6c41ea3a95dd591dfea202c8daa81","responseTime":33,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2?"} gateway-1 | {"time_local":"23/May/2024:10:07:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/203b46d0-a38b-40b2-8ebb-858afdc79da2? HTTP/1.1","status": "200","body_bytes_sent":"1131","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ba6c41ea3a95dd591dfea202c8daa81"} 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/5082ad9f-dde8-405a-9b60-6b8746603f43'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43'"} 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":"35310c10-18ec-11ef-b4a6-53fbcbef7f4b","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/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75977e02-58dc-4fd8-86e0-a08904ca74fc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.6224046} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.396869,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"353af720-18ec-11ef-b4a6-53fbcbef7f4b"},"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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling 200 8ms","method":"POST","requestID":"353af720-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2f9ff41-2dfa-43b5-b896-3c055e81c15d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458825.6327772} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.401353,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"353c7dc0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling 200 9ms","method":"POST","requestID":"353c7dc0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling"} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","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/5082ad9f-dde8-405a-9b60-6b8746603f43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","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":"01dcb7dc6c91a86c1ef76f0212efa958","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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57"},{"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/203b46d0-a38b-40b2-8ebb-858afdc79da2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"01dcb7dc6c91a86c1ef76f0212efa958","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"01dcb7dc6c91a86c1ef76f0212efa958"} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","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":"f695f7552b8b3d620bf5d11d5dc8ba7a","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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57"},{"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/203b46d0-a38b-40b2-8ebb-858afdc79da2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5082ad9f-dde8-405a-9b60-6b8746603f43","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"995a4187-b1e6-4ba2-b83d-4ecc2d6faea8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.720327} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.90878,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43","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":"367af130-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5082ad9f-dde8-405a-9b60-6b8746603f43 200 9ms","method":"GET","requestID":"367af130-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"f695f7552b8b3d620bf5d11d5dc8ba7a","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"f695f7552b8b3d620bf5d11d5dc8ba7a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2e2f456-4bad-4573-ac73-fee7a5fa88cf","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.7500508} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.107573,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"367f5e00-18ec-11ef-b4a6-53fbcbef7f4b"},"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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling 200 12ms","method":"POST","requestID":"367f5e00-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c7e4f26-19e7-4130-b562-c35389fbe8d7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.7661107} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.840648,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"3681a7f0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling 200 15ms","method":"POST","requestID":"3681a7f0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyN30.lUEvjp7Rp-VXkzNcn34dR4ZlCZ5kV1QR-c6j8QJ9vks","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"abe8109d22cd0b49ff61d6677bd10758","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.189811,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458827,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyN30.lUEvjp7Rp-VXkzNcn34dR4ZlCZ5kV1QR-c6j8QJ9vks"} 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":"abe8109d22cd0b49ff61d6677bd10758"},"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/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"} gateway-1 | {"time_local":"23/May/2024:10:07:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003 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":"abe8109d22cd0b49ff61d6677bd10758"} experiment-1 | {"level":"info","message":"GET /experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003 200 15ms","method":"GET","requestID":"abe8109d22cd0b49ff61d6677bd10758","responseTime":15,"status":200,"url":"/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyN30.lUEvjp7Rp-VXkzNcn34dR4ZlCZ5kV1QR-c6j8QJ9vks","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"10d6ed30adee51d8e2d93a20d688c8f1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.359777,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458827,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyN30.lUEvjp7Rp-VXkzNcn34dR4ZlCZ5kV1QR-c6j8QJ9vks"} 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":"10d6ed30adee51d8e2d93a20d688c8f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.340917,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458827,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyN30.lUEvjp7Rp-VXkzNcn34dR4ZlCZ5kV1QR-c6j8QJ9vks"} 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":"368ec750-18ec-11ef-b4a6-53fbcbef7f4b"},"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/5082ad9f-dde8-405a-9b60-6b8746603f43' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","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":"f6704ed390b74c01caf2be22b141762c","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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57"},{"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/203b46d0-a38b-40b2-8ebb-858afdc79da2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5592e9854b683096569b59322be43748","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5082ad9f-dde8-405a-9b60-6b8746603f43': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5082ad9f-dde8-405a-9b60-6b8746603f43","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"dd2e0527-e412-43b6-b5c0-ef32053c3ba7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.8820589} 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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57"},{"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/203b46d0-a38b-40b2-8ebb-858afdc79da2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43"}}},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d74c69aa-c801-465f-9502-3f800756cf72","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.882403} 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":"368ec750-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"data":{"peerconnection":"5082ad9f-dde8-405a-9b60-6b8746603f43","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/5082ad9f-dde8-405a-9b60-6b8746603f43 204 63ms","method":"DELETE","requestID":"368ec750-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":63,"status":204,"url":"/peerconnections/5082ad9f-dde8-405a-9b60-6b8746603f43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3fcb27c-ae73-4b8a-b932-d1b0926d3a57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80f5c110-a9e2-4cb6-86ce-acc42f037c6e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.9366887} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.951756,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57","object_type":"device","rebac_allow":false,"scope_allow":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":"369b9890-18ec-11ef-b4a6-53fbcbef7f4b"},"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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/signaling 200 15ms","method":"POST","requestID":"369b9890-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57/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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d739eb2f-9f47-4820-a781-7be70118bdac","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.9454532} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a0b17ed-eccf-41c5-aee5-0032bb6ef003': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a0b17ed-eccf-41c5-aee5-0032bb6ef003","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"f5a2b72c-c5f7-444b-9537-c852ebdc487e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.9459229} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10d6ed30adee51d8e2d93a20d688c8f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F203b46d0-a38b-40b2-8ebb-858afdc79da2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5eff2092-11a8-4412-a9a4-aeba326477e9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458827.9540946} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.143835,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2","object_type":"device","rebac_allow":false,"scope_allow":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":"369e57b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling 200 14ms","method":"POST","requestID":"369e57b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/203b46d0-a38b-40b2-8ebb-858afdc79da2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"} gateway-1 | {"time_local":"23/May/2024:10:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003 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":"10d6ed30adee51d8e2d93a20d688c8f1"} gateway-1 | {"time_local":"23/May/2024:10:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.729","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bd909d79593b12d1f2c54dab5adec88f"} gateway-1 | {"time_local":"23/May/2024:10:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.737","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e139c1cd28dffe59122d2a93139367a6"} experiment-1 | {"level":"info","message":"DELETE /experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003 204 185ms","method":"DELETE","requestID":"10d6ed30adee51d8e2d93a20d688c8f1","responseTime":185,"status":204,"url":"/experiments/4a0b17ed-eccf-41c5-aee5-0032bb6ef003"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"f6704ed390b74c01caf2be22b141762c","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6704ed390b74c01caf2be22b141762c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"5592e9854b683096569b59322be43748","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"5592e9854b683096569b59322be43748"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyOH0.GTOcc68ENHEiBxd4d_60SZGOTUqtP9el59D2KE2decg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0888a8aeadd106235440968181503b3a","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/203b46d0-a38b-40b2-8ebb-858afdc79da2' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.787691,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458828,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyOH0.GTOcc68ENHEiBxd4d_60SZGOTUqtP9el59D2KE2decg"} 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":"0888a8aeadd106235440968181503b3a"},"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/e3fcb27c-ae73-4b8a-b932-d1b0926d3a57' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3a64287c-5cba-4fe8-84dc-a30f0e21c5ad","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.039591} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0888a8aeadd106235440968181503b3a"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be457910-b5cd-4783-96af-80a418027452","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.045209} 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":"0888a8aeadd106235440968181503b3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"40e44917-4938-404b-9287-e6d56fc3e8e4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.055268} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13d10bd5-cc52-43a2-a8f0-350395e5d7c3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.0554724} 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":"0888a8aeadd106235440968181503b3a"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.055240404Z"}]},"request_id":"c216cc3a-ce9e-4967-9887-9aad5664fe7a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.0596757} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0888a8aeadd106235440968181503b3a"},"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":"0888a8aeadd106235440968181503b3a","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0888a8aeadd106235440968181503b3a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyOH0.GTOcc68ENHEiBxd4d_60SZGOTUqtP9el59D2KE2decg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f01900844fc5baafc01a39ccd824d44","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:08Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.909757,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458828,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgyOH0.GTOcc68ENHEiBxd4d_60SZGOTUqtP9el59D2KE2decg"} 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":"3f01900844fc5baafc01a39ccd824d44"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9544e4a1-542f-490f-a94c-44274b043e51","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.0843618} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f01900844fc5baafc01a39ccd824d44"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"230e52a3-10e9-480e-af78-78b551e6ccf7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.089081} 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":"3f01900844fc5baafc01a39ccd824d44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"ad808aca-8d4e-47ee-9833-86592d4b5909","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.1008434} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1384740c-e01d-405f-936e-186b9a092b89","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.1011212} 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":"3f01900844fc5baafc01a39ccd824d44"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.100816811Z"}]},"request_id":"3e23b490-7bba-49a8-a428-f2840a9efa87","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458828.105132} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f01900844fc5baafc01a39ccd824d44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:07:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f01900844fc5baafc01a39ccd824d44"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"3f01900844fc5baafc01a39ccd824d44","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"12715d4bb6344132d204d94eccb6ee15","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dc0e5920-b897-4c9c-96be-66375050008f/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":"12715d4bb6344132d204d94eccb6ee15"} device-1 | {"level":"info","message":"OPTIONS /devices/dc0e5920-b897-4c9c-96be-66375050008f/websocket 200 2ms","method":"OPTIONS","requestID":"12715d4bb6344132d204d94eccb6ee15","responseTime":2,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6a882bdd474c2c7a4a9d0350f9829ad2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c9040f51694559e95ca9a8bdc91848f5","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.307786,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fcce19d7-00f3-459c-8849-4099d52564a0/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":"c9040f51694559e95ca9a8bdc91848f5"} device-1 | {"level":"info","message":"OPTIONS /devices/fcce19d7-00f3-459c-8849-4099d52564a0/websocket 200 2ms","method":"OPTIONS","requestID":"c9040f51694559e95ca9a8bdc91848f5","responseTime":2,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"6a882bdd474c2c7a4a9d0350f9829ad2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"44afc765043a906bc298645b333d1ec3","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233116,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44afc765043a906bc298645b333d1ec3"},"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/dc0e5920-b897-4c9c-96be-66375050008f/websocket 200 39ms","method":"POST","requestID":"6a882bdd474c2c7a4a9d0350f9829ad2","responseTime":39,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f/websocket"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dc0e5920-b897-4c9c-96be-66375050008f/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":"6a882bdd474c2c7a4a9d0350f9829ad2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/fcce19d7-00f3-459c-8849-4099d52564a0/websocket 200 34ms","method":"POST","requestID":"44afc765043a906bc298645b333d1ec3","responseTime":34,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0/websocket"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fcce19d7-00f3-459c-8849-4099d52564a0/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":"44afc765043a906bc298645b333d1ec3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8b61e98391c99e64e9b720a9c4d7fb06","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21416,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b61e98391c99e64e9b720a9c4d7fb06"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.055240404Z"}]},"request_id":"9a19efab-577b-4daa-a9d6-ecfa3971ae5a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.1666746} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b61e98391c99e64e9b720a9c4d7fb06"},"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":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fcce19d7-00f3-459c-8849-4099d52564a0? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b61e98391c99e64e9b720a9c4d7fb06"} device-1 | {"level":"info","message":"GET /devices/fcce19d7-00f3-459c-8849-4099d52564a0? 200 17ms","method":"GET","requestID":"8b61e98391c99e64e9b720a9c4d7fb06","responseTime":17,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a71aced3ecc1629b3aa4b6b2e05ed1a8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203248,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a71aced3ecc1629b3aa4b6b2e05ed1a8"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.100816811Z"}]},"request_id":"b33c6d7a-48f9-4afa-9af5-3f34b50c88c0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.1914444} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a71aced3ecc1629b3aa4b6b2e05ed1a8"},"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/dc0e5920-b897-4c9c-96be-66375050008f? 200 17ms","method":"GET","requestID":"a71aced3ecc1629b3aa4b6b2e05ed1a8","responseTime":17,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f?"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc0e5920-b897-4c9c-96be-66375050008f? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a71aced3ecc1629b3aa4b6b2e05ed1a8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ce3912d0e11b90c0a4e4af17fd11b72c","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:50018","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.413091,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"ce3912d0e11b90c0a4e4af17fd11b72c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"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:50018","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277013,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380058b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117167,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"3800cde0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.055240404Z"}]},"request_id":"20a7cc93-4ab5-4eeb-9b70-79a8c342b335","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.2792969} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380058b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.100816811Z"}]},"request_id":"3bbd667a-a2a5-4de7-996c-a9664280f841","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.2846956} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3800cde0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/fcce19d7-00f3-459c-8849-4099d52564a0? 200 18ms","method":"GET","requestID":"380058b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dc0e5920-b897-4c9c-96be-66375050008f? 200 20ms","method":"GET","requestID":"3800cde0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"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:50018","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792814,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380c3f90-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871615,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"380c8db0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.100816811Z"}]},"request_id":"02dc2749-dad2-46dc-98e8-174d2efc2f94","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.3604608} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380c8db0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.055240404Z"}]},"request_id":"9b0ead28-aaf1-4222-b253-dc065d2625bc","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.3615851} authorization-1 | {"client_addr":"127.0.0.1:36844","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380c3f90-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7382996-472c-40b5-b71d-aca033bb0c20","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.3650851} authorization-1 | {"client_addr":"127.0.0.1:36844","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.239906,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380cb4c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee674cfa-3f97-4ab2-b068-bed2358d0b60#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee674cfa-3f97-4ab2-b068-bed2358d0b60","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"fbfd849d-83d9-4273-9e44-da7e99126b6d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.3673794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64c64b3b-1ce5-4add-96de-30e89ccc03c5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.3673596} 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":"ce3912d0e11b90c0a4e4af17fd11b72c"},"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/dc0e5920-b897-4c9c-96be-66375050008f? 200 24ms","method":"GET","requestID":"380c8db0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fcce19d7-00f3-459c-8849-4099d52564a0? 200 27ms","method":"GET","requestID":"380c3f90-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":27,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fcce19d7-00f3-459c-8849-4099d52564a0/signaling 200 29ms","method":"POST","requestID":"380cb4c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":29,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f247cd60-2e3a-4099-827d-74f859b5b4ab","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.3850744} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce3912d0e11b90c0a4e4af17fd11b72c"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.902074,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"ce3912d0e11b90c0a4e4af17fd11b72c","responseTime":178,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"381196c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70e1414f-3a44-444a-ba90-9e3fa95bb943","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.3867135} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.239245,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"3811bdd0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2a2fcab96e341aa8d62c2eddceef42ee","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fcce19d7-00f3-459c-8849-4099d52564a0/signaling 200 11ms","method":"POST","requestID":"381196c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":11,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc0e5920-b897-4c9c-96be-66375050008f/signaling 200 13ms","method":"POST","requestID":"3811bdd0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858031,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"2a2fcab96e341aa8d62c2eddceef42ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.055240404Z"}]},"request_id":"0d529573-9b66-45e7-b0a8-39295f5c335a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.4016154} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32cf9b6f-ad30-4964-a632-784d122be7b0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.4017618} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a2fcab96e341aa8d62c2eddceef42ee"},"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:36834","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078975,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"3813e0b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fcce19d7-00f3-459c-8849-4099d52564a0? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a2fcab96e341aa8d62c2eddceef42ee"} device-1 | {"level":"info","message":"GET /devices/fcce19d7-00f3-459c-8849-4099d52564a0? 200 14ms","method":"GET","requestID":"2a2fcab96e341aa8d62c2eddceef42ee","responseTime":14,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc0e5920-b897-4c9c-96be-66375050008f/signaling 200 12ms","method":"POST","requestID":"3813e0b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c4c07628-ee45-4ba1-9d6f-0374f70232ca"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7d355b82-02a2-4a4c-8579-915fdb29e88c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4999c4da-40b9-4473-8c86-2dcb1c369821"}]},"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/fcce19d7-00f3-459c-8849-4099d52564a0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7575fd686b3758ad341edd87aff3826","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.654693,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"38162aa0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.539706,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"f7575fd686b3758ad341edd87aff3826"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:08.100816811Z"}]},"request_id":"aa5d065c-c084-4067-95e6-323f27878acd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.4187558} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7575fd686b3758ad341edd87aff3826"},"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":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc0e5920-b897-4c9c-96be-66375050008f? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7575fd686b3758ad341edd87aff3826"} device-1 | {"level":"info","message":"GET /devices/dc0e5920-b897-4c9c-96be-66375050008f? 200 11ms","method":"GET","requestID":"f7575fd686b3758ad341edd87aff3826","responseTime":11,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f?"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"5079d439-765b-470e-9db0-778b9560424a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.4243863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82adb029-f52a-4e3b-919b-76a34ddc3b44","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.4246542} 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":"38162aa0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 44ms","method":"POST","requestID":"38162aa0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":44,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"268a1426-39d9-4c3d-9576-05fd8b060d6b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.4819674} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.326994,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","rebac_allow":false,"scope_allow":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":"38208ae0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/fcce19d7-00f3-459c-8849-4099d52564a0/signaling 200 8ms","method":"POST","requestID":"38208ae0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23b5b251-3125-4cea-9f28-9322a3ec838d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.4926164} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.245096,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38221180-18ec-11ef-b4a6-53fbcbef7f4b"},"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/dc0e5920-b897-4c9c-96be-66375050008f/signaling 200 8ms","method":"POST","requestID":"38221180-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd26503b-598c-4149-81d8-2fb611bf305e","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4928507837cee411df4e85bbccfad54b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"4928507837cee411df4e85bbccfad54b","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"4928507837cee411df4e85bbccfad54b"} device-1 | {"data":{"peerconnection":"dd26503b-598c-4149-81d8-2fb611bf305e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"dd26503b-598c-4149-81d8-2fb611bf305e","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/dd26503b-598c-4149-81d8-2fb611bf305e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd26503b-598c-4149-81d8-2fb611bf305e","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":"f41f7e6a2486d3c967569168ebea4991","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/fcce19d7-00f3-459c-8849-4099d52564a0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd26503b-598c-4149-81d8-2fb611bf305e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d47bc51c-ab56-4895-9c7b-11ba31a8bf1e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.5778875} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.02005,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e","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":"382f30e0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/dd26503b-598c-4149-81d8-2fb611bf305e 200 7ms","method":"GET","requestID":"382f30e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":7,"status":200,"url":"/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"f41f7e6a2486d3c967569168ebea4991","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"f41f7e6a2486d3c967569168ebea4991"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1d2a72a-fb2d-4e85-9aaa-251f6aa8d39c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.600178} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.018591,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","rebac_allow":false,"scope_allow":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":"38328c40-18ec-11ef-b4a6-53fbcbef7f4b"},"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/fcce19d7-00f3-459c-8849-4099d52564a0/signaling 200 7ms","method":"POST","requestID":"38328c40-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":7,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"664dac43-3707-451d-8fda-40594e6e62f2","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.6090984} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.102384,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","rebac_allow":false,"scope_allow":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":"3833ebd0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/dc0e5920-b897-4c9c-96be-66375050008f/signaling 200 8ms","method":"POST","requestID":"3833ebd0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d55e4391074fa424fc7d15894a8b406","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.697643,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d55e4391074fa424fc7d15894a8b406"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d55e4391074fa424fc7d15894a8b406"} experiment-1 | {"level":"info","message":"GET /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60 200 9ms","method":"GET","requestID":"2d55e4391074fa424fc7d15894a8b406","responseTime":9,"status":200,"url":"/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"37e419d4f92d0080643226463b4ba725","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691219,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37e419d4f92d0080643226463b4ba725"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.679809,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"383d1390-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd26503b-598c-4149-81d8-2fb611bf305e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd26503b-598c-4149-81d8-2fb611bf305e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd26503b-598c-4149-81d8-2fb611bf305e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"248d075b-0ecd-4e1b-b2d6-aa12e15ce594","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.6792462} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63634faf-d528-4e42-b531-b6110ac9fad7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.6794548} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"383d1390-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c3a457dfa4709e2cbf27387f932b530c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e04785edd2e388a5fd8d39e1e5435b0","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/fcce19d7-00f3-459c-8849-4099d52564a0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e 204 35ms","method":"DELETE","requestID":"383d1390-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":35,"status":204,"url":"/peerconnections/dd26503b-598c-4149-81d8-2fb611bf305e"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcce19d7-00f3-459c-8849-4099d52564a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc94cbbc-6157-4b93-929a-c399b93a7b8d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.7193458} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832945,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38448da0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/fcce19d7-00f3-459c-8849-4099d52564a0/signaling 200 9ms","method":"POST","requestID":"38448da0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/fcce19d7-00f3-459c-8849-4099d52564a0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee674cfa-3f97-4ab2-b068-bed2358d0b60': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee674cfa-3f97-4ab2-b068-bed2358d0b60","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"b6509b4e-e74c-48ee-a0cb-d4bac591c49c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.7260716} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85b092b3-1a60-4dd6-9d0e-ce44bf0caad8","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.7264485} 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":"37e419d4f92d0080643226463b4ba725"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc0e5920-b897-4c9c-96be-66375050008f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"858fb25e-2ee6-4928-92fa-94082984e57a","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.7303207} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.648583,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc0e5920-b897-4c9c-96be-66375050008f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38463b50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/dc0e5920-b897-4c9c-96be-66375050008f/signaling 200 9ms","method":"POST","requestID":"38463b50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/dc0e5920-b897-4c9c-96be-66375050008f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37e419d4f92d0080643226463b4ba725"} experiment-1 | {"level":"info","message":"DELETE /experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60 204 118ms","method":"DELETE","requestID":"37e419d4f92d0080643226463b4ba725","responseTime":118,"status":204,"url":"/experiments/ee674cfa-3f97-4ab2-b068-bed2358d0b60"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 96ms","method":"POST","requestID":"c3a457dfa4709e2cbf27387f932b530c","responseTime":96,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"c3a457dfa4709e2cbf27387f932b530c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 96ms","method":"POST","requestID":"6e04785edd2e388a5fd8d39e1e5435b0","responseTime":96,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e04785edd2e388a5fd8d39e1e5435b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd203a8e498bb18ea1b0e95548310d7d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.673","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8d1d1179190740dade937ce4ec02a6de"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.660","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8000bfd0d7fbbd35a3b78f294efa0dbf"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.905791,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fcce19d7-00f3-459c-8849-4099d52564a0' 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":"dd203a8e498bb18ea1b0e95548310d7d"},"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/dc0e5920-b897-4c9c-96be-66375050008f' 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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68c8393e-dd02-47fe-a0c5-e586a494142e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4623375f-43ed-488c-bbcf-442d532770ed","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.812711} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd203a8e498bb18ea1b0e95548310d7d"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b2bda6c-3b82-484a-849c-fdccf2e7ce8e","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.816355} 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":"dd203a8e498bb18ea1b0e95548310d7d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68c8393e-dd02-47fe-a0c5-e586a494142e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"7efa475c-f1fc-4c1c-8dab-b7b15f0ca7ea","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.8246603} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f16b3426-270a-4e85-8a55-baf7e213ce33","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.8247545} 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":"dd203a8e498bb18ea1b0e95548310d7d"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68c8393e-dd02-47fe-a0c5-e586a494142e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68c8393e-dd02-47fe-a0c5-e586a494142e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.824636827Z"}]},"request_id":"9e28d9ef-9371-41a8-bafe-33b22a863180","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.828287} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd203a8e498bb18ea1b0e95548310d7d"},"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":"dd203a8e498bb18ea1b0e95548310d7d","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"360","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd203a8e498bb18ea1b0e95548310d7d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"74e365778019ebfd5565ba455b69eaf7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.656521,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458830,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMH0.qqDaJVltFqmyzknUnhZFIqJ4yDsE9lEcfwZFeUiOns8"} 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":"74e365778019ebfd5565ba455b69eaf7"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2cf2783c-d3c2-4247-b8b4-5ae8ae1cf18b","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.848759} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74e365778019ebfd5565ba455b69eaf7"},"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:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8c8279d-15f6-49d7-beb2-646a8b23eeb9","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.852799} 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":"74e365778019ebfd5565ba455b69eaf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"3c58ccae-7e61-4645-a0f9-078791155264","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.8620195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de0a26e6-c510-4ad2-81ff-ad272b28420c","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.8622878} 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":"74e365778019ebfd5565ba455b69eaf7"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.861993534Z"}]},"request_id":"0cfed5c7-d833-4432-b1a6-006856c1aa49","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458830.8654716} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74e365778019ebfd5565ba455b69eaf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"23/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"353","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74e365778019ebfd5565ba455b69eaf7"} device-1 | {"level":"info","message":"POST /devices? 201 32ms","method":"POST","requestID":"74e365778019ebfd5565ba455b69eaf7","responseTime":32,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7087ab782371fd4d437e25d24589097c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:07:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/019a979b-2d07-4e81-9f74-e37c0224dc42/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":"7087ab782371fd4d437e25d24589097c"} device-1 | {"level":"info","message":"OPTIONS /devices/019a979b-2d07-4e81-9f74-e37c0224dc42/websocket 200 1ms","method":"OPTIONS","requestID":"7087ab782371fd4d437e25d24589097c","responseTime":1,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a85e9535c164679148e3524c4f1a37c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214387,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a85e9535c164679148e3524c4f1a37c"},"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/019a979b-2d07-4e81-9f74-e37c0224dc42/websocket 200 26ms","method":"POST","requestID":"7a85e9535c164679148e3524c4f1a37c","responseTime":26,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42/websocket"} gateway-1 | {"time_local":"23/May/2024:10:07:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/019a979b-2d07-4e81-9f74-e37c0224dc42/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7a85e9535c164679148e3524c4f1a37c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c3eab620b9cb0bf9f1fb147f8a157694","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169443,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3eab620b9cb0bf9f1fb147f8a157694"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.861993534Z"}]},"request_id":"bb65b209-8426-4ec7-a125-034aab56bcd3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458832.918766} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3eab620b9cb0bf9f1fb147f8a157694"},"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/019a979b-2d07-4e81-9f74-e37c0224dc42? 200 17ms","method":"GET","requestID":"c3eab620b9cb0bf9f1fb147f8a157694","responseTime":17,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42?"} gateway-1 | {"time_local":"23/May/2024:10:07:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/019a979b-2d07-4e81-9f74-e37c0224dc42? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3eab620b9cb0bf9f1fb147f8a157694"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e788401bc1a22fb598f04f9cd05c80d3","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:50018","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.196576,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} 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":"e788401bc1a22fb598f04f9cd05c80d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"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:50018","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.03169,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68c8393e-dd02-47fe-a0c5-e586a494142e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/68c8393e-dd02-47fe-a0c5-e586a494142e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"399f62b0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768471,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"399fb0d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68c8393e-dd02-47fe-a0c5-e586a494142e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68c8393e-dd02-47fe-a0c5-e586a494142e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.824636827Z"}]},"request_id":"84ccb8ff-3f2f-4c78-9dcc-567780257122","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458832.9989526} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"399f62b0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.861993534Z"}]},"request_id":"f8120f9c-7721-47ea-b9cf-10e54853e6d7","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.0001152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"399fb0d0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/68c8393e-dd02-47fe-a0c5-e586a494142e? 200 19ms","method":"GET","requestID":"399f62b0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":19,"status":200,"url":"/devices/68c8393e-dd02-47fe-a0c5-e586a494142e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/019a979b-2d07-4e81-9f74-e37c0224dc42? 200 18ms","method":"GET","requestID":"399fb0d0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":18,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955936,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/68c8393e-dd02-47fe-a0c5-e586a494142e","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/68c8393e-dd02-47fe-a0c5-e586a494142e","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39a57d30-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"f8b225b6-4975-4872-baf5-c1c529184a14","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.0622861} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf997b1a-6ed5-485a-b26e-84f112df82b0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.0626097} 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":"39a57d30-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 14ms","method":"POST","requestID":"39ac5b00-18ec-11ef-820d-cddcde3d419e","responseTime":14,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/68c8393e-dd02-47fe-a0c5-e586a494142e?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 66ms","method":"POST","requestID":"39a57d30-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":66,"status":201,"url":"/devices/68c8393e-dd02-47fe-a0c5-e586a494142e?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"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:50018","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:13Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.038277,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} 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":"39b7f3c0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36834","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125195,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} 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":"39b841e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.461988,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6623ba9-8ee5-471d-9830-63248515dca4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.161926} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","rebac_allow":false,"scope_allow":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":"39b89000-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:13.062234744Z"}]},"request_id":"ec448164-1efe-4976-bd07-59d3f8ee3480","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.1666446} 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":"39b7f3c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.861993534Z"}]},"request_id":"adc5af7b-96f2-49a7-b02d-0c7b05627ae6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.1705174} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 398ff7f7-70fb-441b-8a5c-86867850c667","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 398ff7f7-70fb-441b-8a5c-86867850c667\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/398ff7f7-70fb-441b-8a5c-86867850c667/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"39b89000-18ec-11ef-b4a6-53fbcbef7f4b"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39b841e0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"POST /devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling 404 20ms","method":"POST","requestID":"39b89000-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":20,"status":404,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 398ff7f7-70fb-441b-8a5c-86867850c667"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/398ff7f7-70fb-441b-8a5c-86867850c667? 200 31ms","method":"GET","requestID":"39b7f3c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":31,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/019a979b-2d07-4e81-9f74-e37c0224dc42? 200 30ms","method":"GET","requestID":"39b841e0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":30,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42?"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2874925f-e674-40ad-94e0-b3cd1429102b#owner@http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2874925f-e674-40ad-94e0-b3cd1429102b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"c2cab3e0-5e32-4409-8d43-bc2756829c84","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.1826112} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"959b90d5-fcca-46b1-9978-f5541e23a753","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.182822} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63178d32-b5ce-490b-ad4a-9f3daf7d38e0","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458833.182954} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.613713,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","rebac_allow":false,"scope_allow":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":"39bc3980-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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":"e788401bc1a22fb598f04f9cd05c80d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling 200 13ms","method":"POST","requestID":"39bc3980-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b","user":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 261ms","method":"POST","requestID":"e788401bc1a22fb598f04f9cd05c80d3","responseTime":261,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"23/May/2024:10:07:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.268","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e788401bc1a22fb598f04f9cd05c80d3"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c797a3d54082c1b2bbbabf9e71179d99","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"23/May/2024:10:07:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/398ff7f7-70fb-441b-8a5c-86867850c667/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":"c797a3d54082c1b2bbbabf9e71179d99"} device-1 | {"level":"info","message":"OPTIONS /devices/398ff7f7-70fb-441b-8a5c-86867850c667/websocket 200 1ms","method":"OPTIONS","requestID":"c797a3d54082c1b2bbbabf9e71179d99","responseTime":1,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6IjhUTktoRXF3YWdIcGktMFVFZ19wd3p1M2FtdTE4cnMtOE9mbTNGZG9tcC1nVDJ4cWFaNXluSE5NbFowX1RtN1RUNHIxbzMtTmRBakdCN1lXNks5VjdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzNX0.c7daxYEDjTFvXpOPR_3glYJAtoQWYpgbHXno16J2rFE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8b312033b37cd852bc3f7826d7c5d6bb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281011,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","payload":{"admin":true,"edgeToken":"8TNKhEqwagHpi-0UEg_pwzu3amu18rs-8Ofm3Fdomp-gT2xqaZ5ynHNMlZ0_Tm7TT4r1o3-NdAjGB7YW6K9V7A","iat":1716458835,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6IjhUTktoRXF3YWdIcGktMFVFZ19wd3p1M2FtdTE4cnMtOE9mbTNGZG9tcC1nVDJ4cWFaNXluSE5NbFowX1RtN1RUNHIxbzMtTmRBakdCN1lXNks5VjdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzNX0.c7daxYEDjTFvXpOPR_3glYJAtoQWYpgbHXno16J2rFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b312033b37cd852bc3f7826d7c5d6bb"},"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":"23/May/2024:10:07:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/398ff7f7-70fb-441b-8a5c-86867850c667/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8b312033b37cd852bc3f7826d7c5d6bb"} device-1 | {"level":"info","message":"POST /devices/398ff7f7-70fb-441b-8a5c-86867850c667/websocket 200 31ms","method":"POST","requestID":"8b312033b37cd852bc3f7826d7c5d6bb","responseTime":31,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667' 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":"76cca1def55cb3b46a72506527ac4f58","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"bookingEndpoint":"http://localhost/booking","connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzNX0.cywFRvpRuchtAY2EcDAm2U1B0dyyTqNqwkhchqt5poM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4dcb1415c7d1c945ac3b860a46162984","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.221389,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458835,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzNX0.cywFRvpRuchtAY2EcDAm2U1B0dyyTqNqwkhchqt5poM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dcb1415c7d1c945ac3b860a46162984"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:13.062234744Z"}]},"request_id":"a36f5ed5-8908-4095-9dd0-0bc7a0368c4d","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458835.2563097} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dcb1415c7d1c945ac3b860a46162984"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"76cca1def55cb3b46a72506527ac4f58","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"76cca1def55cb3b46a72506527ac4f58"} gateway-1 | {"time_local":"23/May/2024:10:07:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/398ff7f7-70fb-441b-8a5c-86867850c667? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4dcb1415c7d1c945ac3b860a46162984"} device-1 | {"level":"info","message":"GET /devices/398ff7f7-70fb-441b-8a5c-86867850c667? 200 19ms","method":"GET","requestID":"4dcb1415c7d1c945ac3b860a46162984","responseTime":19,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzNX0.cywFRvpRuchtAY2EcDAm2U1B0dyyTqNqwkhchqt5poM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c7aea40292ff2dbbe5aed7ee1d473b4b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:15Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166018,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458835,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzNX0.cywFRvpRuchtAY2EcDAm2U1B0dyyTqNqwkhchqt5poM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7aea40292ff2dbbe5aed7ee1d473b4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.861993534Z"}]},"request_id":"ba127822-b0df-4141-912c-07dd57d4f1ea","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458835.2817256} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7aea40292ff2dbbe5aed7ee1d473b4b"},"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":"23/May/2024:10:07:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/019a979b-2d07-4e81-9f74-e37c0224dc42? HTTP/1.1","status": "200","body_bytes_sent":"352","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7aea40292ff2dbbe5aed7ee1d473b4b"} device-1 | {"level":"info","message":"GET /devices/019a979b-2d07-4e81-9f74-e37c0224dc42? 200 17ms","method":"GET","requestID":"c7aea40292ff2dbbe5aed7ee1d473b4b","responseTime":17,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206935,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cb83b70-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"client_addr":"127.0.0.1:40220","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.416009,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} 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":"3cb88990-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:13.062234744Z"}]},"request_id":"22a690a7-8132-4751-aa10-a0f3441db270","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.199537} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cb83b70-18ec-11ef-b4a6-53fbcbef7f4b"},"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:47270","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"},"timestamp":"2024-05-23T10:07:10.861993534Z"}]},"request_id":"a10236af-cf19-40cb-968d-27da9cdda4d5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.2012184} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cb88990-18ec-11ef-b4a6-53fbcbef7f4b"},"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/398ff7f7-70fb-441b-8a5c-86867850c667? 200 24ms","method":"GET","requestID":"3cb83b70-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/019a979b-2d07-4e81-9f74-e37c0224dc42? 200 24ms","method":"GET","requestID":"3cb88990-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":24,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"413553fb-33b7-4ba1-a1dc-d2f3bfa80957","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.2205513} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.57134,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","rebac_allow":false,"scope_allow":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":"3cbca840-18ec-11ef-b4a6-53fbcbef7f4b"},"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/398ff7f7-70fb-441b-8a5c-86867850c667/signaling 200 15ms","method":"POST","requestID":"3cbca840-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":15,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1f7094f-70f2-460f-ba12-07e7b6154628","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.2367651} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.725091,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","rebac_allow":false,"scope_allow":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":"3cbf6760-18ec-11ef-b4a6-53fbcbef7f4b"},"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/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling 200 13ms","method":"POST","requestID":"3cbf6760-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":13,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"d92800a1-8b18-4670-b9ba-1494261e1060"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9eeaeb0e-b738-4f77-82ab-6cdaf2a40782"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3e135b76-81c0-48d0-9b09-833794505633"}]},"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/019a979b-2d07-4e81-9f74-e37c0224dc42"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.218456,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458832,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzMn0.fiFICOLTQraMbXRlVDwuXVN-EnkDkN5z4n7U6ov2hS4"} 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":"3cc22680-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","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%2F1812ecfa-6802-48dd-8515-075966dbfd70'. 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:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]}},"raw_response":{},"request_id":"73e955a7-0fc8-4d1f-b65d-c41f2175abbd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.2655497} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88bc219e-6d8c-42bb-a057-b5ea0e863a86","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.2659335} 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":"3cc22680-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be'"} 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":"3cc22680-18ec-11ef-b4a6-53fbcbef7f4b","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/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b97ecf3-e957-4517-b0aa-4c771a5140bd","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.3399012} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.724537,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} 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":"3ccf6cf0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/398ff7f7-70fb-441b-8a5c-86867850c667/signaling 200 10ms","method":"POST","requestID":"3ccf6cf0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":10,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb54e224-4567-4e38-9c3c-d07148ac74b4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.3519216} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.645751,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","rebac_allow":false,"scope_allow":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":"3cd168c0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling 200 9ms","method":"POST","requestID":"3cd168c0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd492a8d-586e-4206-9cd0-a0f33ba7f8be","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ab4397139eb30da66f139c0073987f03","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"ab4397139eb30da66f139c0073987f03","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"ab4397139eb30da66f139c0073987f03"} device-1 | {"data":{"peerconnection":"bd492a8d-586e-4206-9cd0-a0f33ba7f8be","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bd492a8d-586e-4206-9cd0-a0f33ba7f8be","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/bd492a8d-586e-4206-9cd0-a0f33ba7f8be' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd492a8d-586e-4206-9cd0-a0f33ba7f8be","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":"c7588769f8e45518100101de2ba75a3c","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/019a979b-2d07-4e81-9f74-e37c0224dc42"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd492a8d-586e-4206-9cd0-a0f33ba7f8be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9e112f8-b070-440a-bb7f-9af9ce53c271","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.4384148} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.672172,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be","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":"3cde8820-18ec-11ef-b4a6-53fbcbef7f4b"},"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/bd492a8d-586e-4206-9cd0-a0f33ba7f8be 200 8ms","method":"GET","requestID":"3cde8820-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"c7588769f8e45518100101de2ba75a3c","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"c7588769f8e45518100101de2ba75a3c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06506c20-405a-4965-939b-bfff07b4ab19","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.4627502} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36676,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","rebac_allow":false,"scope_allow":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":"3ce231a0-18ec-11ef-b4a6-53fbcbef7f4b"},"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/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling 200 9ms","method":"POST","requestID":"3ce231a0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":9,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8216a46e-c039-4174-b86a-1d756fe2f043","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.4730206} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.4461,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","rebac_allow":false,"scope_allow":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":"3ce3df50-18ec-11ef-b4a6-53fbcbef7f4b"},"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/398ff7f7-70fb-441b-8a5c-86867850c667/signaling 200 8ms","method":"POST","requestID":"3ce3df50-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":8,"status":200,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzOH0.gZIElmCUR-sAqOAXi0V7kt4A09R7KDTEGhkfa3HTy7M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"008f0f99dc8d8cecf6c9ab5ba7f7527e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2874925f-e674-40ad-94e0-b3cd1429102b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.674944,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458838,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzOH0.gZIElmCUR-sAqOAXi0V7kt4A09R7KDTEGhkfa3HTy7M"} 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":"008f0f99dc8d8cecf6c9ab5ba7f7527e"},"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/2874925f-e674-40ad-94e0-b3cd1429102b"} experiment-1 | {"level":"info","message":"GET /experiments/2874925f-e674-40ad-94e0-b3cd1429102b 200 10ms","method":"GET","requestID":"008f0f99dc8d8cecf6c9ab5ba7f7527e","responseTime":10,"status":200,"url":"/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"} gateway-1 | {"time_local":"23/May/2024:10:07:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2874925f-e674-40ad-94e0-b3cd1429102b HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"008f0f99dc8d8cecf6c9ab5ba7f7527e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzOH0.gZIElmCUR-sAqOAXi0V7kt4A09R7KDTEGhkfa3HTy7M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"010cb4e8d4766b63539e8235af234ed2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2874925f-e674-40ad-94e0-b3cd1429102b"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.694789,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"experiment:http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b","object_type":"experiment","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458838,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzOH0.gZIElmCUR-sAqOAXi0V7kt4A09R7KDTEGhkfa3HTy7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"010cb4e8d4766b63539e8235af234ed2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.873983,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"peerconnection:http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458838,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzOH0.gZIElmCUR-sAqOAXi0V7kt4A09R7KDTEGhkfa3HTy7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ceabd20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bd492a8d-586e-4206-9cd0-a0f33ba7f8be","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd492a8d-586e-4206-9cd0-a0f33ba7f8be': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbd492a8d-586e-4206-9cd0-a0f33ba7f8be","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"e3a7a2e7-6b7a-41f6-a5ab-977024cd30b5","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.5293856} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0106c46e-0b45-4619-bae8-57b772fe9ba4","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.5296516} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"66e32f721c966496ee930e70f7a3ab6b","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ceabd20-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4605ac01c44175a746428a62ed8861cf","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/019a979b-2d07-4e81-9f74-e37c0224dc42"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be 204 56ms","method":"DELETE","requestID":"3ceabd20-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":56,"status":204,"url":"/peerconnections/bd492a8d-586e-4206-9cd0-a0f33ba7f8be"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.326993,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","payload":{"admin":true,"edgeToken":"rxO7k4AZ8kDF0u__VbrfJQXSVxntg8sZATHgPKijF_LuxcpgjrRpwqaocJgSVSPd_Qku4w2UYxFEJp6FGqd9iw","iat":1716458838,"sub":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70","subject_alt":"http://localhost/users/1812ecfa-6802-48dd-8515-075966dbfd70"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzE4MTJlY2ZhLTY4MDItNDhkZC04NTE1LTA3NTk2NmRiZmQ3MCIsImVkZ2VUb2tlbiI6InJ4TzdrNEFaOGtERjB1X19WYnJmSlFYU1Z4bnRnOHNaQVRIZ1BLaWpGX0x1eGNwZ2pyUnB3cWFvY0pnU1ZTUGRfUWt1NHcyVVl4RkVKcDZGR3FkOWl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNjQ1ODgzOH0.gZIElmCUR-sAqOAXi0V7kt4A09R7KDTEGhkfa3HTy7M"} 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":"3cf3bdd0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"56a87086-5388-4d73-92c4-c04c6d050acb","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.5916758} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e1b14b4-a5f7-453d-b9be-07b690896c10","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.5920892} 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":"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":"3cf3bdd0-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/398ff7f7-70fb-441b-8a5c-86867850c667 204 33ms","method":"DELETE","requestID":"3cf3bdd0-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":33,"status":204,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F019a979b-2d07-4e81-9f74-e37c0224dc42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f318365-2c9c-4287-a21f-b1b42c32c6b6","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.6353157} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.161757,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42","object_type":"device","rebac_allow":false,"scope_allow":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":"3cfc2240-18ec-11ef-b4a6-53fbcbef7f4b"},"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/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling 200 14ms","method":"POST","requestID":"3cfc2240-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":14,"status":200,"url":"/devices/019a979b-2d07-4e81-9f74-e37c0224dc42/signaling"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2874925f-e674-40ad-94e0-b3cd1429102b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2874925f-e674-40ad-94e0-b3cd1429102b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F1812ecfa-6802-48dd-8515-075966dbfd70"}]},"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","writes":null},"raw_response":{},"request_id":"c4d60485-b079-416a-8712-560e772fd161","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.6428735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"raw_response":{"authorization_model":{"id":"01HYJEJRA3ZVBPQ456EZPTF1A3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f28eba61-fea9-4f25-86ce-f1768174e9ff","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.643676} 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":"010cb4e8d4766b63539e8235af234ed2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47270","raw_request":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","contextual_tuples":null,"store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F398ff7f7-70fb-441b-8a5c-86867850c667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3835c7da-5439-40f9-aa30-f036d31d9a56","store_id":"01HYJEJR8QDV8XNCV8ZV2HPYNT","subsystem":"openfga","timestamp":1716458838.6526222} authorization-1 | {"client_addr":"127.0.0.1:50018","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.728535,"resp_status":200,"subsystem":"opa","time":"2024-05-23T10:07:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","openfga":{"authorization_model_id":"01HYJEJRA3ZVBPQ456EZPTF1A3","store":"01HYJEJR8QDV8XNCV8ZV2HPYNT"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667","object_type":"device","rebac_allow":false,"scope_allow":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":"3cfee160-18ec-11ef-b4a6-53fbcbef7f4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"3cfee160-18ec-11ef-b4a6-53fbcbef7f4b"} device-1 | {"level":"info","message":"POST /devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling 404 12ms","method":"POST","requestID":"3cfee160-18ec-11ef-b4a6-53fbcbef7f4b","responseTime":12,"status":404,"url":"/devices/398ff7f7-70fb-441b-8a5c-86867850c667/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2874925f-e674-40ad-94e0-b3cd1429102b"} gateway-1 | {"time_local":"23/May/2024:10:07:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2874925f-e674-40ad-94e0-b3cd1429102b 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":"010cb4e8d4766b63539e8235af234ed2"} experiment-1 | {"level":"info","message":"DELETE /experiments/2874925f-e674-40ad-94e0-b3cd1429102b 204 206ms","method":"DELETE","requestID":"010cb4e8d4766b63539e8235af234ed2","responseTime":206,"status":204,"url":"/experiments/2874925f-e674-40ad-94e0-b3cd1429102b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 180ms","method":"POST","requestID":"66e32f721c966496ee930e70f7a3ab6b","responseTime":180,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07: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.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"66e32f721c966496ee930e70f7a3ab6b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 179ms","method":"POST","requestID":"4605ac01c44175a746428a62ed8861cf","responseTime":179,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07: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.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"4605ac01c44175a746428a62ed8861cf"} gateway-1 | {"time_local":"23/May/2024:10:07:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"5.833","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1c90f5634a48554e5ed32cc3da026ca2"} gateway-1 | {"time_local":"23/May/2024:10:07:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"3.506","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a3b80477589ef0da63aea0d1a7bbf6d6"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667' 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":"94b4b067c77f249deb11d3ef20ff2fe8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"bookingEndpoint":"http://localhost/booking","connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/398ff7f7-70fb-441b-8a5c-86867850c667"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 3ms","method":"POST","requestID":"94b4b067c77f249deb11d3ef20ff2fe8","responseTime":3,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"23/May/2024:10:07:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"94b4b067c77f249deb11d3ef20ff2fe8"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/019a979b-2d07-4e81-9f74-e37c0224dc42' closed"} authorization-1 exited with code 0 experiment-1 exited with code 0 device-1 exited with code 0 federation-1 exited with code 0 authentication-1 exited with code 0 gateway-1 exited with code 0