Creating integration-test_experiment_1 ... Creating integration-test_authorization_1 ... Creating integration-test_gateway_1 ... Creating integration-test_authentication_1 ... Creating integration-test_federation_1 ... Creating integration-test_device_1 ... Creating integration-test_federation_1 ... done Creating integration-test_device_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_authentication_1 ... done Creating integration-test_experiment_1 ... done Creating integration-test_authorization_1 ... done Attaching to integration-test_federation_1, integration-test_device_1, integration-test_gateway_1, integration-test_authentication_1, integration-test_experiment_1, integration-test_authorization_1 authentication_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device_1 | {"level":"info","message":"Device Service started successfully"} federation_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation_1 | {"level":"info","message":"Federation Service started successfully"} gateway_1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway_1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway_1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 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 experiment_1 | {"level":"info","message":"Experiment Service started successfully"} authorization_1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-04-11T12:57:06Z"} authorization_1 | {"client_addr":"127.0.0.1:40106","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-04-11T12:57:06Z"} authorization_1 | {"client_addr":"127.0.0.1:40106","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.311592,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:06Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1712840226.8911347} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1712840226.8914416} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1712840226.8914757} 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":1712840226.8915105} 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":1712840226.8915493} 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":1712840226.891614,"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":1712840226.8921802} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1712840226.8931062} 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:57472","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-04-11T12:57:06.918288239Z","id":"01HV6KQE36WBRNZ52ZRATV4BB1","name":"crosslab","updated_at":"2024-04-11T12:57:06.918288239Z"},"request_id":"75f8a82b-8438-4bd7-bb80-5be2abb73579","subsystem":"openfga","timestamp":1712840226.9183612} 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:57472","raw_request":{"schema_version":"1.1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HV6KQE4N70VNRE3G6EY068C1"},"request_id":"53ae95c5-9847-4c8a-b27a-3b3e373e3cfb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840226.9657218} authorization_1 | {"client_addr":"127.0.0.1:40106","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-04-11T12:57:06Z"} authorization_1 | {"client_addr":"127.0.0.1:40106","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.174073,"resp_status":204,"subsystem":"opa","time":"2024-04-11T12:57:06Z"} authorization_1 | {"level":"info","message":"Authorization Service started successfully"} authorization_1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.63.0/opa_linux_amd64","latest_version":"0.63.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.63.0","subsystem":"opa","time":"2024-04-11T12:57:07Z"} gateway_1 | {"time_local":"11/Apr/2024:12:57:25 +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.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"205c6b6a98c93590116bfbac650adf3c"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 9ms","method":"HEAD","requestID":"205c6b6a98c93590116bfbac650adf3c","responseTime":9,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"11/Apr/2024:12:57:25 +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.026","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c7dfee738b43f8acf53d5cc4ca047664"} device_1 | {"level":"info","message":"HEAD /device/status 200 16ms","method":"HEAD","requestID":"0b399ee0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/device/status"} gateway_1 | {"time_local":"11/Apr/2024:12:57:25 +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.015","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"17f851b0ce0ce3759e72b6b35b080ac1"} authorization_1 | {"level":"info","message":"HEAD /authorization/status 200 6ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"17f851b0ce0ce3759e72b6b35b080ac1"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":6}} gateway_1 | {"time_local":"11/Apr/2024:12:57:25 +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.031","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"408c90fbb990ae2e67e87bff4fee8792"} federation_1 | {"level":"info","message":"HEAD /federation/status 200 19ms","method":"HEAD","requestID":"0b42c6a0-f803-11ee-ab0f-3973952df731","responseTime":19,"status":200,"url":"/federation/status"} gateway_1 | {"time_local":"11/Apr/2024:12:57:25 +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.019","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c769742b006d8c6da9a5d2a5cb52d4da"} experiment_1 | {"level":"info","message":"HEAD /experiment/status 200 12ms","method":"HEAD","requestID":"0b47a8a0-f803-11ee-8475-efffa9a3ffde","responseTime":12,"status":200,"url":"/experiment/status"} authentication_1 | {"level":"info","message":"POST /login 201 135ms","method":"POST","requestID":"44a82c7dd5a4f117ed760e8dab928fa5","responseTime":135,"status":201,"url":"/login"} gateway_1 | {"time_local":"11/Apr/2024:12:57:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44a82c7dd5a4f117ed760e8dab928fa5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI0OH0.Tazw8I9hQOLKRLG5chR1L-0SfY5S9yZSqQ80csUC9NY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"989312f3d8346f6e2567c1a2902ff652","responseTime":24,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.131636,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840248,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI0OH0.Tazw8I9hQOLKRLG5chR1L-0SfY5S9yZSqQ80csUC9NY"} authorization_1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"989312f3d8346f6e2567c1a2902ff652"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9efb01a-11b7-4e8b-9679-59b91f994f39","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.604321} 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":"989312f3d8346f6e2567c1a2902ff652"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b18432d-eab8-486d-9034-154b9366c1db","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.623941} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"989312f3d8346f6e2567c1a2902ff652"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"93ea3a88-b1fe-4cf6-92ec-ca12aab15a0e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.6449306} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"741fa62e-dbc5-45eb-9a04-26dd039f9f07","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.6462145} 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":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"989312f3d8346f6e2567c1a2902ff652"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.644914137Z"}]},"request_id":"683ff133-69e2-42fb-a387-9e88855b429d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.6551802} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"989312f3d8346f6e2567c1a2902ff652"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 219ms","method":"POST","requestID":"989312f3d8346f6e2567c1a2902ff652","responseTime":219,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.264","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"989312f3d8346f6e2567c1a2902ff652"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI0OH0.Tazw8I9hQOLKRLG5chR1L-0SfY5S9yZSqQ80csUC9NY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"32da3faccc4cfab123596d62f5b545b6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.558187,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840248,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI0OH0.Tazw8I9hQOLKRLG5chR1L-0SfY5S9yZSqQ80csUC9NY"} 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":"32da3faccc4cfab123596d62f5b545b6"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d09142a6-3e4b-436a-963f-3768da13ddc9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.7332556} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32da3faccc4cfab123596d62f5b545b6"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1bb0a87-1680-4bcf-9757-18292964feb5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.7487876} 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":"32da3faccc4cfab123596d62f5b545b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"e9901499-246b-4e21-bff8-93a149aa41c9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.7665958} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b0081b9-4a82-4075-b02e-9603b108a41d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.767076} 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":"32da3faccc4cfab123596d62f5b545b6"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.766579672Z"}]},"request_id":"e01a121e-e1ad-4214-b72d-e74509c0d0d6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840248.780512} 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":"32da3faccc4cfab123596d62f5b545b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 100ms","method":"POST","requestID":"32da3faccc4cfab123596d62f5b545b6","responseTime":100,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32da3faccc4cfab123596d62f5b545b6"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9824af3be68b6e59bb3141e26b569a1","responseTime":3,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"70bd89c6d428bb3ebd18edcab277dbee","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/adc353ad-4e7d-46f4-881e-44d9dea24256/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.009","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d9824af3be68b6e59bb3141e26b569a1"} device_1 | {"level":"info","message":"OPTIONS /devices/adc353ad-4e7d-46f4-881e-44d9dea24256/websocket 200 3ms","method":"OPTIONS","requestID":"d9824af3be68b6e59bb3141e26b569a1","responseTime":3,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/be2de5fe-0077-47af-87eb-cd47173e416a/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":"70bd89c6d428bb3ebd18edcab277dbee"} device_1 | {"level":"info","message":"OPTIONS /devices/be2de5fe-0077-47af-87eb-cd47173e416a/websocket 200 2ms","method":"OPTIONS","requestID":"70bd89c6d428bb3ebd18edcab277dbee","responseTime":2,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"8ad3dd81975f5cd63135a81932ece961","responseTime":12,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"af4075a83e14475d83d02f7aaff91775","responseTime":13,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.868113,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"8ad3dd81975f5cd63135a81932ece961"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.582004,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"af4075a83e14475d83d02f7aaff91775"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/be2de5fe-0077-47af-87eb-cd47173e416a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.071","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"af4075a83e14475d83d02f7aaff91775"} device_1 | {"level":"info","message":"POST /devices/be2de5fe-0077-47af-87eb-cd47173e416a/websocket 200 50ms","method":"POST","requestID":"af4075a83e14475d83d02f7aaff91775","responseTime":50,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/adc353ad-4e7d-46f4-881e-44d9dea24256/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.092","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8ad3dd81975f5cd63135a81932ece961"} device_1 | {"level":"info","message":"POST /devices/adc353ad-4e7d-46f4-881e-44d9dea24256/websocket 200 75ms","method":"POST","requestID":"8ad3dd81975f5cd63135a81932ece961","responseTime":75,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"626c4fa5ace7a6c28750b843891bf616","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.411359,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"626c4fa5ace7a6c28750b843891bf616"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.644914137Z"}]},"request_id":"b26bb8a1-8cb5-464a-bfab-af73315c937c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.394155} 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":"626c4fa5ace7a6c28750b843891bf616"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be2de5fe-0077-47af-87eb-cd47173e416a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"626c4fa5ace7a6c28750b843891bf616"} device_1 | {"level":"info","message":"GET /devices/be2de5fe-0077-47af-87eb-cd47173e416a? 200 45ms","method":"GET","requestID":"626c4fa5ace7a6c28750b843891bf616","responseTime":45,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"d59c125d7230cea4b10c414ebbcd460a","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.294399,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"d59c125d7230cea4b10c414ebbcd460a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.766579672Z"}]},"request_id":"c7f4cae0-8af4-4a96-92e5-292ffeb92125","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.4554121} 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":"d59c125d7230cea4b10c414ebbcd460a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/adc353ad-4e7d-46f4-881e-44d9dea24256? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d59c125d7230cea4b10c414ebbcd460a"} device_1 | {"level":"info","message":"GET /devices/adc353ad-4e7d-46f4-881e-44d9dea24256? 200 36ms","method":"GET","requestID":"d59c125d7230cea4b10c414ebbcd460a","responseTime":36,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"b1a78b249a7f9c23e2baacb621991447","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:53134","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.267173,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"b1a78b249a7f9c23e2baacb621991447"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"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:53134","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949548,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"0f1ad0b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.533711,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"0f1b1ed0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.644914137Z"}]},"request_id":"114c3fd0-4b69-4d43-95e9-a607d4763120","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.7212942} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f1ad0b0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.766579672Z"}]},"request_id":"78a9cfa0-2b22-4331-a4a0-c4cff8ccf933","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.7227619} 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":"0f1b1ed0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/be2de5fe-0077-47af-87eb-cd47173e416a? 200 30ms","method":"GET","requestID":"0f1ad0b0-f803-11ee-94dd-ef446cbc77bc","responseTime":30,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/adc353ad-4e7d-46f4-881e-44d9dea24256? 200 30ms","method":"GET","requestID":"0f1b1ed0-f803-11ee-94dd-ef446cbc77bc","responseTime":30,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"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:53134","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.033367,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f30f0c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857744,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f318d00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7e58d79-27bd-46d8-867e-9d83332f196f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.8798099} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.644914137Z"}]},"request_id":"28b9a2cc-20aa-4f2d-b43f-aec787fcda6f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.8840187} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.192568,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f322940-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.766579672Z"}]},"request_id":"f1e9b947-00bd-4211-b94a-8da21fcda0e8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.8876588} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/be2de5fe-0077-47af-87eb-cd47173e416a/signaling 200 40ms","method":"POST","requestID":"0f322940-f803-11ee-94dd-ef446cbc77bc","responseTime":40,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a/signaling"} authorization_1 | {"level":"info","message":"POST /relations/query 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f30f0c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"level":"info","message":"POST /relations/query 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f318d00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff64f215c-7fa9-4600-a040-ac8ac17cda45#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff64f215c-7fa9-4600-a040-ac8ac17cda45","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"9381e9a2-6841-48c2-b9c2-a2d901bde8b4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.9039881} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c410c032-2a6c-460f-815f-af230cf86683","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.9044218} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 43ms","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":"b1a78b249a7f9c23e2baacb621991447"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":43}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} device_1 | {"level":"info","message":"GET /devices/be2de5fe-0077-47af-87eb-cd47173e416a? 200 64ms","method":"GET","requestID":"0f30f0c0-f803-11ee-94dd-ef446cbc77bc","responseTime":64,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"789c8438-462a-4a0c-b2a1-d6cf11901ec7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.9169705} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.785637,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} device_1 | {"level":"info","message":"GET /devices/adc353ad-4e7d-46f4-881e-44d9dea24256? 200 62ms","method":"GET","requestID":"0f318d00-f803-11ee-94dd-ef446cbc77bc","responseTime":62,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","rebac_allow":false,"scope_allow":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":"0f397c40-f803-11ee-94dd-ef446cbc77bc"},"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/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling 200 20ms","method":"POST","requestID":"0f397c40-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef621f32-faa3-48b3-8771-be45eaf063d9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.937408} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.949057,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","rebac_allow":false,"scope_allow":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":"0f3cb090-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"level":"info","message":"POST /experiments? 201 431ms","method":"POST","requestID":"b1a78b249a7f9c23e2baacb621991447","responseTime":431,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/be2de5fe-0077-47af-87eb-cd47173e416a/signaling 200 16ms","method":"POST","requestID":"0f3cb090-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a/signaling"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.471","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1a78b249a7f9c23e2baacb621991447"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"15bdfa6d424880772930a8505bf81481","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48b9a7d1-fa4b-4ac3-adb0-3b17ae3a262d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.9582438} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.488204,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","rebac_allow":false,"scope_allow":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":"0f3fe4e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.8968,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"15bdfa6d424880772930a8505bf81481"},"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/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling 200 18ms","method":"POST","requestID":"0f3fe4e0-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256/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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.644914137Z"}]},"request_id":"46553ce5-2199-4aaf-a8ca-a745fde0b80b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840251.9702444} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"d1f9edfc-14f9-4389-87f1-5696b93f1ede"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7345c049-f31e-49a7-8c3d-7187c57fbb7d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e18b066a-2fcf-472b-84df-1704e98ecb82"}]},"level":"info","message":"Built pairwise service configurations"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15bdfa6d424880772930a8505bf81481"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/be2de5fe-0077-47af-87eb-cd47173e416a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15bdfa6d424880772930a8505bf81481"} device_1 | {"level":"info","message":"GET /devices/be2de5fe-0077-47af-87eb-cd47173e416a? 200 24ms","method":"GET","requestID":"15bdfa6d424880772930a8505bf81481","responseTime":24,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a?"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"37d79d0e7d3a60b15fefe9ea55bfd797","responseTime":6,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.039009,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} 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":"0f44c6e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.272849,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840251,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1MX0.Vy3qayfW1xCJ_XjVG2t2LqzvxeoGgi_MvPAANaPJjVk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37d79d0e7d3a60b15fefe9ea55bfd797"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:28.766579672Z"}]},"request_id":"2ccf3e36-cc11-4c6d-8b9e-2487c69bec1c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.0034723} 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":"37d79d0e7d3a60b15fefe9ea55bfd797"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/adc353ad-4e7d-46f4-881e-44d9dea24256? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37d79d0e7d3a60b15fefe9ea55bfd797"} device_1 | {"level":"info","message":"GET /devices/adc353ad-4e7d-46f4-881e-44d9dea24256? 200 24ms","method":"GET","requestID":"37d79d0e7d3a60b15fefe9ea55bfd797","responseTime":24,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"fbe9f3d7-ba89-453b-a5d2-e5dcb5d97593","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.0404267} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bde06de-90c8-4ce5-9c66-1d457deb3eea","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.0409105} authorization_1 | {"level":"info","message":"POST /relations/update 200 41ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"0f44c6e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":41}} 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/19345ace-6600-4ca9-8e66-5b5ea0cc75ce'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce'"} 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 85ms","method":"POST","requestID":"0f44c6e0-f803-11ee-94dd-ef446cbc77bc","responseTime":85,"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/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a061d1e9-5a92-4365-83eb-6def61dd7e80","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.121962} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.931384,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f593940-f803-11ee-94dd-ef446cbc77bc"},"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/be2de5fe-0077-47af-87eb-cd47173e416a/signaling 200 12ms","method":"POST","requestID":"0f593940-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03e19305-b816-483e-8ae8-b17c0484c746","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.1372082} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.636948,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","rebac_allow":false,"scope_allow":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":"0f5baa40-f803-11ee-94dd-ef446cbc77bc"},"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/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling 200 12ms","method":"POST","requestID":"0f5baa40-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"19345ace-6600-4ca9-8e66-5b5ea0cc75ce","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9c0a350459e333e313aa8679af7cc861","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/adc353ad-4e7d-46f4-881e-44d9dea24256"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"19345ace-6600-4ca9-8e66-5b5ea0cc75ce","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"9c0a350459e333e313aa8679af7cc861","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"9c0a350459e333e313aa8679af7cc861"} device_1 | {"data":{"peerconnection":"19345ace-6600-4ca9-8e66-5b5ea0cc75ce","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/19345ace-6600-4ca9-8e66-5b5ea0cc75ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"19345ace-6600-4ca9-8e66-5b5ea0cc75ce","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f1b90ec45c3c079737e1e3e3eed02ca","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/adc353ad-4e7d-46f4-881e-44d9dea24256"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F19345ace-6600-4ca9-8e66-5b5ea0cc75ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1492071-53d6-4ebd-a996-9f22a56c5f01","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.4187825} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.738954,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce","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":"0f8615a0-f803-11ee-94dd-ef446cbc77bc"},"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/19345ace-6600-4ca9-8e66-5b5ea0cc75ce 200 17ms","method":"GET","requestID":"0f8615a0-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f1ab02a29083f2f6df5619e1acb409d3","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 61ms","method":"POST","requestID":"3f1b90ec45c3c079737e1e3e3eed02ca","responseTime":61,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.067","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f1b90ec45c3c079737e1e3e3eed02ca"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.051849,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840252,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI"} 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":"f1ab02a29083f2f6df5619e1acb409d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abe06f10-b885-49fd-9aec-867bfdb87bdd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.4686577} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.388289,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","rebac_allow":false,"scope_allow":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":"0f8db6c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling 200 18ms","method":"POST","requestID":"0f8db6c0-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} gateway_1 | {"time_local":"11/Apr/2024:12:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1ab02a29083f2f6df5619e1acb409d3"} experiment_1 | {"level":"info","message":"GET /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45 200 30ms","method":"GET","requestID":"f1ab02a29083f2f6df5619e1acb409d3","responseTime":30,"status":200,"url":"/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6e03d39-c0d1-46f7-8b91-8dbf78701114","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.4907024} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.150775,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","rebac_allow":false,"scope_allow":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":"0f913930-f803-11ee-94dd-ef446cbc77bc"},"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/be2de5fe-0077-47af-87eb-cd47173e416a/signaling 200 17ms","method":"POST","requestID":"0f913930-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ae3c3ab727b74f7a7310d226f8fb88b8","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.993859,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840252,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI"} 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":"ae3c3ab727b74f7a7310d226f8fb88b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.253572,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840252,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI"} 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":"0f9753b0-f803-11ee-94dd-ef446cbc77bc"},"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/19345ace-6600-4ca9-8e66-5b5ea0cc75ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"19345ace-6600-4ca9-8e66-5b5ea0cc75ce","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bcdddf101294889d30438b3837cbad33","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c3d747ffdc26ac2e166f87f02c50c20d","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F19345ace-6600-4ca9-8e66-5b5ea0cc75ce': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F19345ace-6600-4ca9-8e66-5b5ea0cc75ce","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"fecdfbc3-72cb-4cec-b723-98df400b5e68","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.5759757} device_1 | {"data":{"peerconnection":"19345ace-6600-4ca9-8e66-5b5ea0cc75ce","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a8ca1bc-5c83-4f27-b436-b1538a85a9b1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.5766172} authorization_1 | {"level":"info","message":"POST /relations/update 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f9753b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":33}} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce 204 78ms","method":"DELETE","requestID":"0f9753b0-f803-11ee-94dd-ef446cbc77bc","responseTime":78,"status":204,"url":"/peerconnections/19345ace-6600-4ca9-8e66-5b5ea0cc75ce"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.45394,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadc353ad-4e7d-46f4-881e-44d9dea24256","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7270f78-2170-43d0-817b-6f92f63a911f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.6396368} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adc353ad-4e7d-46f4-881e-44d9dea24256","object_type":"device","rebac_allow":false,"scope_allow":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":"0fa7f580-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling 200 21ms","method":"POST","requestID":"0fa7f580-f803-11ee-94dd-ef446cbc77bc","responseTime":21,"status":200,"url":"/devices/adc353ad-4e7d-46f4-881e-44d9dea24256/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff64f215c-7fa9-4600-a040-ac8ac17cda45': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff64f215c-7fa9-4600-a040-ac8ac17cda45","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"39ba2d38-d0fd-43e1-9852-1016c07c0011","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.6622126} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed07c7f2-f216-4214-8fcd-e88d43595bd1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.6629398} 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":"ae3c3ab727b74f7a7310d226f8fb88b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":35}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe2de5fe-0077-47af-87eb-cd47173e416a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ddc7f66-0f4f-438b-a757-2c696b467708","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.6667986} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.876785,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a","object_type":"device","rebac_allow":false,"scope_allow":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":"0fabed20-f803-11ee-94dd-ef446cbc77bc"},"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/be2de5fe-0077-47af-87eb-cd47173e416a/signaling 200 18ms","method":"POST","requestID":"0fabed20-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/be2de5fe-0077-47af-87eb-cd47173e416a/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"} gateway_1 | {"time_local":"11/Apr/2024:12:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae3c3ab727b74f7a7310d226f8fb88b8"} experiment_1 | {"level":"info","message":"DELETE /experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45 204 239ms","method":"DELETE","requestID":"ae3c3ab727b74f7a7310d226f8fb88b8","responseTime":239,"status":204,"url":"/experiments/f64f215c-7fa9-4600-a040-ac8ac17cda45"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"bcdddf101294889d30438b3837cbad33","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"bcdddf101294889d30438b3837cbad33"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.198","http_referrer":"","http_user_agent":"node-fetch","requestID":"c3d747ffdc26ac2e166f87f02c50c20d"} gateway_1 | {"time_local":"11/Apr/2024:12:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1927","request_time":"1.443","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9284924fe9cdf82f78d92c9b51cee1e8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"605e446bf089a65f79566d608e04e357","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"c3d747ffdc26ac2e166f87f02c50c20d","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"1.431","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"08a9eb810b796e449a8ecff12142b5f3"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.726704,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840252,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI"} 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":"605e446bf089a65f79566d608e04e357"},"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/adc353ad-4e7d-46f4-881e-44d9dea24256' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/be2de5fe-0077-47af-87eb-cd47173e416a' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ddadedd5-cf0d-4c48-bdce-8dbfc9a6c2f9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.7810078} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"605e446bf089a65f79566d608e04e357"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d467f0d6-a8be-4c2e-a828-045e44692e37","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.7866547} 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":"605e446bf089a65f79566d608e04e357"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"0f0928a4-2a4c-412e-a6e1-0884e119b267","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.7970207} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49b08588-8893-4979-be1f-c516297f5bab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.7972844} 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":"605e446bf089a65f79566d608e04e357"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.797004447Z"}]},"request_id":"ad7d717d-4785-400d-a08d-33dd0dc7518e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.8031623} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"605e446bf089a65f79566d608e04e357"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"605e446bf089a65f79566d608e04e357","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"605e446bf089a65f79566d608e04e357"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1481a65fc6d7df9134c50926210efc15","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.872508,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840252,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Mn0.Z5S6Q814dkQCpURQPOZqMpuuWJ_ARY7lekVrH0dDxeI"} 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":"1481a65fc6d7df9134c50926210efc15"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"af040d07-a1b2-462f-a936-1482b89468a2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.8375304} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1481a65fc6d7df9134c50926210efc15"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e96d2bfe-37d0-4d1b-990e-a299c10b5c53","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.8431573} 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":"1481a65fc6d7df9134c50926210efc15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"3d3557af-46e6-4173-b4cb-6f709afcf30b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.8584921} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f82cd8a-2e71-46de-b698-ca0dd0f3304e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.8586135} authorization_1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1481a65fc6d7df9134c50926210efc15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.858478819Z"}]},"request_id":"a5514132-f6c2-49db-b406-45df2a403039","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840252.8662252} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1481a65fc6d7df9134c50926210efc15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"1481a65fc6d7df9134c50926210efc15","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1481a65fc6d7df9134c50926210efc15"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1M30.vIq3Yc4VQZSNYndT8PmWN4SddR7Wd0kh4u0Ra468b-c","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dc8651455ecd96491bd2e0cafa087e81","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:33Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.538471,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840253,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1M30.vIq3Yc4VQZSNYndT8PmWN4SddR7Wd0kh4u0Ra468b-c"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc8651455ecd96491bd2e0cafa087e81"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.858478819Z"}]},"request_id":"0b18abaf-1644-42ea-ba62-cce25eebd42b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840253.4963229} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc8651455ecd96491bd2e0cafa087e81"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46d439b2-a087-4db3-8685-5dad001c7a69","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840253.5042562} 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":"dc8651455ecd96491bd2e0cafa087e81"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.858478819Z"}]},"request_id":"6351dbaf-aedd-47fb-94e4-04238bdc88c7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840253.5190866} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc8651455ecd96491bd2e0cafa087e81"},"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/1ab0b772-0387-45e8-9b16-7e019e2a6800 200 60ms","method":"PATCH","requestID":"dc8651455ecd96491bd2e0cafa087e81","responseTime":60,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800"} gateway_1 | {"time_local":"11/Apr/2024:12:57:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.067","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"dc8651455ecd96491bd2e0cafa087e81"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1M30.vIq3Yc4VQZSNYndT8PmWN4SddR7Wd0kh4u0Ra468b-c","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7be267033e8dcb928a7de57909a0403f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:33Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240691,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840253,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1M30.vIq3Yc4VQZSNYndT8PmWN4SddR7Wd0kh4u0Ra468b-c"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7be267033e8dcb928a7de57909a0403f"},"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/1ab0b772-0387-45e8-9b16-7e019e2a6800/websocket 200 24ms","method":"POST","requestID":"7be267033e8dcb928a7de57909a0403f","responseTime":24,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7be267033e8dcb928a7de57909a0403f"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1ce7d877f75cbfc2e7b787fbd90d8388","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/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":"1ce7d877f75cbfc2e7b787fbd90d8388"} device_1 | {"level":"info","message":"OPTIONS /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/websocket 200 1ms","method":"OPTIONS","requestID":"1ce7d877f75cbfc2e7b787fbd90d8388","responseTime":1,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NH0.hS2ihtCIe_Bc7DpwLHo8Yclz-gGDYSW7HHEUjFx19Ik","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"f9fe35348071bbeefb138521c2751c32","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:34Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132072,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840254,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NH0.hS2ihtCIe_Bc7DpwLHo8Yclz-gGDYSW7HHEUjFx19Ik"} 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":"f9fe35348071bbeefb138521c2751c32"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/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":"f9fe35348071bbeefb138521c2751c32"} device_1 | {"level":"info","message":"POST /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/websocket 200 29ms","method":"POST","requestID":"f9fe35348071bbeefb138521c2751c32","responseTime":29,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NH0.hS2ihtCIe_Bc7DpwLHo8Yclz-gGDYSW7HHEUjFx19Ik","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0eba346c0c51b37288addb03985bfbc5","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:34Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206856,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840254,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NH0.hS2ihtCIe_Bc7DpwLHo8Yclz-gGDYSW7HHEUjFx19Ik"} 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":"0eba346c0c51b37288addb03985bfbc5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.797004447Z"}]},"request_id":"36fd3473-4ac4-4aba-bccc-c663b657e031","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840254.9528122} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0eba346c0c51b37288addb03985bfbc5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0eba346c0c51b37288addb03985bfbc5"} device_1 | {"level":"info","message":"GET /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723? 200 22ms","method":"GET","requestID":"0eba346c0c51b37288addb03985bfbc5","responseTime":22,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NH0.hS2ihtCIe_Bc7DpwLHo8Yclz-gGDYSW7HHEUjFx19Ik","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1c1b8d60bb7ebddfaed5be13298dee48","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:34Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.258519,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840254,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NH0.hS2ihtCIe_Bc7DpwLHo8Yclz-gGDYSW7HHEUjFx19Ik"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c1b8d60bb7ebddfaed5be13298dee48"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.858478819Z"}]},"request_id":"b2a1607d-fe3f-4518-bf8f-708ea96b49d6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840254.9850442} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c1b8d60bb7ebddfaed5be13298dee48"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c1b8d60bb7ebddfaed5be13298dee48"} device_1 | {"level":"info","message":"GET /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800? 200 21ms","method":"GET","requestID":"1c1b8d60bb7ebddfaed5be13298dee48","responseTime":21,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d126341c845e65dd2867d12110bec32a","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:53134","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.337233,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"d126341c845e65dd2867d12110bec32a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"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:53134","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667262,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"111bf7e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899424,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"111c4600-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.797004447Z"}]},"request_id":"6bab5839-9096-4936-98c2-59f56192d5d1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.0825303} 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":"111bf7e0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.858478819Z"}]},"request_id":"117f282e-a8ad-4630-9fdb-b7155e1f6ce7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.085161} 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":"111c4600-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723? 200 25ms","method":"GET","requestID":"111bf7e0-f803-11ee-94dd-ef446cbc77bc","responseTime":25,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800? 200 26ms","method":"GET","requestID":"111c4600-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"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:53134","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930701,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"112a01a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990039,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"112a4fc0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.435465,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9dae38f-6357-4745-9129-b8e0c25ef97f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.1754975} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","rebac_allow":false,"scope_allow":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":"112ac4f0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.797004447Z"}]},"request_id":"09f7e0e4-ca8f-4ed4-85c5-c7051082fb6f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.1778693} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling 200 15ms","method":"POST","requestID":"112ac4f0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling"} 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":"112a01a0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.858478819Z"}]},"request_id":"89035da2-0efa-47b3-8f8b-7feac5bd8f74","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.1813471} 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":"112a4fc0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723? 200 30ms","method":"GET","requestID":"112a01a0-f803-11ee-94dd-ef446cbc77bc","responseTime":30,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800? 200 29ms","method":"GET","requestID":"112a4fc0-f803-11ee-94dd-ef446cbc77bc","responseTime":29,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88b3988a-e0bb-4a0b-870b-fcde892a3f39","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.1946726} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40f0a060-1f4d-41e1-8abb-eb0405b0037f#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40f0a060-1f4d-41e1-8abb-eb0405b0037f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"d2fe53ad-becc-42ee-b6f9-8abb2be25ed2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.1954334} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.727195,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b226965-3c8b-4334-8eca-d6d5433ea3d4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.1958368} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","rebac_allow":false,"scope_allow":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":"112df940-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} 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":"d126341c845e65dd2867d12110bec32a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} device_1 | {"level":"info","message":"POST /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling 200 16ms","method":"POST","requestID":"112df940-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fd9f249-cb46-48e9-b37a-60645e7ad2b9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.2070508} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.038715,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","rebac_allow":false,"scope_allow":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":"112f58d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 206ms","method":"POST","requestID":"d126341c845e65dd2867d12110bec32a","responseTime":206,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d126341c845e65dd2867d12110bec32a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling 200 20ms","method":"POST","requestID":"112f58d0-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"789a654cea521da81fe04d328275b005","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721165,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"789a654cea521da81fe04d328275b005"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36117b59-16e3-4201-bdd6-c1920dbeb387","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.2272365} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.814011,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1132db40-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.797004447Z"}]},"request_id":"6825990d-2a29-4fc1-b5d8-18bad056d3f8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.232204} device_1 | {"level":"info","message":"POST /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling 200 13ms","method":"POST","requestID":"1132db40-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/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":"789a654cea521da81fe04d328275b005"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f2035dd6-a02d-40d6-b6a8-68ecc3b72408"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ec0bd083-6958-48a5-9a6f-a55d04bb1b15"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"04febbfd-6950-48ba-a021-e3cce4e0dc2f"}]},"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/53cea5e7-7f3c-43b0-8679-58d1a1d58723"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"789a654cea521da81fe04d328275b005"} device_1 | {"level":"info","message":"GET /devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723? 200 13ms","method":"GET","requestID":"789a654cea521da81fe04d328275b005","responseTime":13,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723?"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.892109,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc746f96d03c50806b6af1e02f499061","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11357350-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830716,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"dc746f96d03c50806b6af1e02f499061"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:32.858478819Z"}]},"request_id":"28e6bdfe-a54d-423a-b4ab-721bf9814e24","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.2502196} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc746f96d03c50806b6af1e02f499061"},"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":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"1063b245-d86b-42c4-8841-a534557f8a53","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.2542589} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc746f96d03c50806b6af1e02f499061"} device_1 | {"level":"info","message":"GET /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800? 200 13ms","method":"GET","requestID":"dc746f96d03c50806b6af1e02f499061","responseTime":13,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"925eb1ce-0fa8-40f6-8559-add23f037831","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.2554548} 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":"11357350-f803-11ee-94dd-ef446cbc77bc"},"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/0a14a84e-e75d-4685-be51-3dfd35879998'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"11357350-f803-11ee-94dd-ef446cbc77bc","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"0a14a84e-e75d-4685-be51-3dfd35879998","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"227af509-efdf-418b-83ea-9a352a3f2816","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.3203986} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.299217,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11415a30-f803-11ee-94dd-ef446cbc77bc"},"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/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling 200 11ms","method":"POST","requestID":"11415a30-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4dae0d45-aad1-4bfd-89b1-2ac4711520ce","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.3339791} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.644353,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11437d10-f803-11ee-94dd-ef446cbc77bc"},"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/0a14a84e-e75d-4685-be51-3dfd35879998' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0a14a84e-e75d-4685-be51-3dfd35879998","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling 200 15ms","method":"POST","requestID":"11437d10-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"3563f406ea3f9766b7c8ba3de982d639","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"3563f406ea3f9766b7c8ba3de982d639","responseTime":7,"status":200,"url":"/callbacks/experiment"} device_1 | {"data":{"peerconnection":"0a14a84e-e75d-4685-be51-3dfd35879998","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"3563f406ea3f9766b7c8ba3de982d639"} device_1 | {"data":{"peerconnection":"0a14a84e-e75d-4685-be51-3dfd35879998","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/0a14a84e-e75d-4685-be51-3dfd35879998' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0a14a84e-e75d-4685-be51-3dfd35879998","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"33fe48fe105cba726d8063934ea0686c","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/53cea5e7-7f3c-43b0-8679-58d1a1d58723"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a14a84e-e75d-4685-be51-3dfd35879998","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fa6f04b-5327-4186-8587-b77e39319198","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.4038942} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.295147,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998","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":"114e2b70-f803-11ee-94dd-ef446cbc77bc"},"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/0a14a84e-e75d-4685-be51-3dfd35879998 200 9ms","method":"GET","requestID":"114e2b70-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"33fe48fe105cba726d8063934ea0686c","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"33fe48fe105cba726d8063934ea0686c"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6fac810-89b8-4919-8995-ff1f54ab2f09","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.4283018} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.367359,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1151d4f0-f803-11ee-94dd-ef446cbc77bc"},"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/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling 200 10ms","method":"POST","requestID":"1151d4f0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6cd9d5f1-cfe9-4063-bf98-16b24af49a61","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.440119} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.53734,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1153a9b0-f803-11ee-94dd-ef446cbc77bc"},"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/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling 200 10ms","method":"POST","requestID":"1153a9b0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cf822e21e256c934c96e5ccb991b0eb9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.376799,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"cf822e21e256c934c96e5ccb991b0eb9"},"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/40f0a060-1f4d-41e1-8abb-eb0405b0037f"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf822e21e256c934c96e5ccb991b0eb9"} experiment_1 | {"level":"info","message":"GET /experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f 200 22ms","method":"GET","requestID":"cf822e21e256c934c96e5ccb991b0eb9","responseTime":22,"status":200,"url":"/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dc80ee297ecee695176846c8da5ee43b","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.686635,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc80ee297ecee695176846c8da5ee43b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.442004,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"11647290-f803-11ee-94dd-ef446cbc77bc"},"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/0a14a84e-e75d-4685-be51-3dfd35879998' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0a14a84e-e75d-4685-be51-3dfd35879998","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ec42e7f65e345cd2aaac0c19f698abc","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a14a84e-e75d-4685-be51-3dfd35879998': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0a14a84e-e75d-4685-be51-3dfd35879998","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"ca8e2506-fd3a-4932-a520-fe082be1217a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.5805774} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e170f08d94268724a25c9af111a54226","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a02f9273-8f16-4fae-b99f-d755c6e1d563","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.5813005} 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":"11647290-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} 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/53cea5e7-7f3c-43b0-8679-58d1a1d58723"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"0a14a84e-e75d-4685-be51-3dfd35879998","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/0a14a84e-e75d-4685-be51-3dfd35879998 204 60ms","method":"DELETE","requestID":"11647290-f803-11ee-94dd-ef446cbc77bc","responseTime":60,"status":204,"url":"/peerconnections/0a14a84e-e75d-4685-be51-3dfd35879998"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53cea5e7-7f3c-43b0-8679-58d1a1d58723","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"587bb89e-3ca0-42c2-addf-830e98d951fc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.6412609} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.180428,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723","object_type":"device","rebac_allow":false,"scope_allow":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":"1171b900-f803-11ee-94dd-ef446cbc77bc"},"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/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling 200 18ms","method":"POST","requestID":"1171b900-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/53cea5e7-7f3c-43b0-8679-58d1a1d58723/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40f0a060-1f4d-41e1-8abb-eb0405b0037f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40f0a060-1f4d-41e1-8abb-eb0405b0037f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"9b1b7688-1274-45f7-af66-8fe1420f077e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.6547554} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad322283-8002-4b16-8620-448cadfb7978","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.655076} authorization_1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc80ee297ecee695176846c8da5ee43b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ab0b772-0387-45e8-9b16-7e019e2a6800","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2acc295-7314-4dcb-848b-3c70ef523708","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.6645453} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.318324,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800","object_type":"device","rebac_allow":false,"scope_allow":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":"11751460-f803-11ee-94dd-ef446cbc77bc"},"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/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling 200 20ms","method":"POST","requestID":"11751460-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/1ab0b772-0387-45e8-9b16-7e019e2a6800/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f 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":"dc80ee297ecee695176846c8da5ee43b"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1878","request_time":"2.159","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ec5eaefa88bb1ac187c4917483d1af67"} experiment_1 | {"level":"info","message":"DELETE /experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f 204 208ms","method":"DELETE","requestID":"dc80ee297ecee695176846c8da5ee43b","responseTime":208,"status":204,"url":"/experiments/40f0a060-1f4d-41e1-8abb-eb0405b0037f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"9ec42e7f65e345cd2aaac0c19f698abc","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ec42e7f65e345cd2aaac0c19f698abc"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"e170f08d94268724a25c9af111a54226","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"e170f08d94268724a25c9af111a54226"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"81c5af7cae697d8df7ec9888e7f8f98c","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/1ab0b772-0387-45e8-9b16-7e019e2a6800' closed"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.829","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8bb11d88f752e5b16bd1303090989512"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.012331,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"81c5af7cae697d8df7ec9888e7f8f98c"},"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/53cea5e7-7f3c-43b0-8679-58d1a1d58723' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6453641d-a338-4bfe-9469-be2ab7cdd94a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.762583} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81c5af7cae697d8df7ec9888e7f8f98c"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1130ca6b-d65e-4da7-a34f-323968e5e7d9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.7679389} 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":"81c5af7cae697d8df7ec9888e7f8f98c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"0f75525d-9011-4fd6-bc11-bb14a3749e6e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.7792344} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a935b69-8829-4a9e-a242-651f14065629","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.7793596} 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":"81c5af7cae697d8df7ec9888e7f8f98c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.779222062Z"}]},"request_id":"d34b21bc-ae1b-431d-97b2-d91d627fe16a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.7847683} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81c5af7cae697d8df7ec9888e7f8f98c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"81c5af7cae697d8df7ec9888e7f8f98c","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81c5af7cae697d8df7ec9888e7f8f98c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e49e5fec096a9cbd4002d27fbd4b6537","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.874122,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840255,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1NX0.0zqXS9Rb-toaRRWJHav6jkl910TeplmsWsUNV78maaE"} 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":"e49e5fec096a9cbd4002d27fbd4b6537"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ee7eefc7-5c98-4f3f-9ee5-3519cb2d3636","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.8122597} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e49e5fec096a9cbd4002d27fbd4b6537"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59f30832-934e-4664-827c-d95a15a96269","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.8185074} 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":"e49e5fec096a9cbd4002d27fbd4b6537"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"8b0742f6-9fef-4454-9132-e1400a2af400","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.828183} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3d1ff73-2909-4013-bb92-b499c911d483","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.8282862} 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":"e49e5fec096a9cbd4002d27fbd4b6537"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.828168013Z"}]},"request_id":"34d9fa1c-84d9-4bf4-90da-d10c00b83221","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840255.8333511} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e49e5fec096a9cbd4002d27fbd4b6537"},"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":"e49e5fec096a9cbd4002d27fbd4b6537","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e49e5fec096a9cbd4002d27fbd4b6537"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Nn0.SbkNISgeY1d2x0Oc380viz0Z6aPRwTZITXfBvZHTQP8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"799db74e163a0c313077efcff8bb5e6b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:36Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713123,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840256,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Nn0.SbkNISgeY1d2x0Oc380viz0Z6aPRwTZITXfBvZHTQP8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"799db74e163a0c313077efcff8bb5e6b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.779222062Z"}]},"request_id":"70a8e365-6b6b-4bdf-8b98-1615ae395388","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840256.3295193} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"799db74e163a0c313077efcff8bb5e6b"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a83c4ec-7619-46dc-a3bc-035893c672ab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840256.3361545} 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":"799db74e163a0c313077efcff8bb5e6b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.779222062Z"}]},"request_id":"770ae178-3782-43c5-b487-5127b779370b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840256.4229796} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"799db74e163a0c313077efcff8bb5e6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.116","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"799db74e163a0c313077efcff8bb5e6b"} device_1 | {"level":"info","message":"PATCH /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4 200 109ms","method":"PATCH","requestID":"799db74e163a0c313077efcff8bb5e6b","responseTime":109,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Nn0.SbkNISgeY1d2x0Oc380viz0Z6aPRwTZITXfBvZHTQP8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2947c49d5e7ebcc08a953c3ad513b6bd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:36Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639859,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840256,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1Nn0.SbkNISgeY1d2x0Oc380viz0Z6aPRwTZITXfBvZHTQP8"} 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":"2947c49d5e7ebcc08a953c3ad513b6bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/websocket 200 108ms","method":"POST","requestID":"2947c49d5e7ebcc08a953c3ad513b6bd","responseTime":108,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.114","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2947c49d5e7ebcc08a953c3ad513b6bd"} device_1 | {"level":"info","message":"device 'http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"10f1e4e298c0047b32b81457e7704061","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f22f65cc-30e1-4252-8014-bd6745134928/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":"10f1e4e298c0047b32b81457e7704061"} device_1 | {"level":"info","message":"OPTIONS /devices/f22f65cc-30e1-4252-8014-bd6745134928/websocket 200 1ms","method":"OPTIONS","requestID":"10f1e4e298c0047b32b81457e7704061","responseTime":1,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3c53c1a51b0cb8d8cbd1656dfd989b42","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691913,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c53c1a51b0cb8d8cbd1656dfd989b42"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f22f65cc-30e1-4252-8014-bd6745134928/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3c53c1a51b0cb8d8cbd1656dfd989b42"} device_1 | {"level":"info","message":"POST /devices/f22f65cc-30e1-4252-8014-bd6745134928/websocket 200 40ms","method":"POST","requestID":"3c53c1a51b0cb8d8cbd1656dfd989b42","responseTime":40,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"58a6a1977d03b018681c1ee5dbb77d33","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92207,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a6a1977d03b018681c1ee5dbb77d33"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.779222062Z"}]},"request_id":"d0346e63-9770-4be9-bd3f-e9ef899468e5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840257.9193964} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a6a1977d03b018681c1ee5dbb77d33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58a6a1977d03b018681c1ee5dbb77d33"} device_1 | {"level":"info","message":"GET /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4? 200 21ms","method":"GET","requestID":"58a6a1977d03b018681c1ee5dbb77d33","responseTime":21,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2cd679af02465eb0ad3b04d8365f4558","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766106,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} 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":"2cd679af02465eb0ad3b04d8365f4558"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.828168013Z"}]},"request_id":"013639af-6f25-48a4-9c24-08b730092fae","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840257.9439104} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cd679af02465eb0ad3b04d8365f4558"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f22f65cc-30e1-4252-8014-bd6745134928? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cd679af02465eb0ad3b04d8365f4558"} device_1 | {"level":"info","message":"GET /devices/f22f65cc-30e1-4252-8014-bd6745134928? 200 15ms","method":"GET","requestID":"2cd679af02465eb0ad3b04d8365f4558","responseTime":15,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d58a4ed26654009fbc24167335171916","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:53134","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.01752,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} 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":"d58a4ed26654009fbc24167335171916"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"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:53134","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857484,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12db8230-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92201,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12dba940-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.779222062Z"}]},"request_id":"1f3bb9f9-26fa-4e31-9916-ab1d95f120e0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.0125694} 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":"12db8230-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.828168013Z"}]},"request_id":"2b7d193a-e61e-43b9-8da9-220ae3c822a9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.0145304} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12dba940-f803-11ee-94dd-ef446cbc77bc"},"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/29551be6-1bed-4eea-87e4-fb2dcdb94de4? 200 16ms","method":"GET","requestID":"12db8230-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f22f65cc-30e1-4252-8014-bd6745134928? 200 16ms","method":"GET","requestID":"12dba940-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"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:53134","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.092453,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} 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":"12e657a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.17403,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} 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":"12e6a5c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.544142,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87f6dd54-be5e-4c2d-b141-8fb4aa1800c9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.0881433} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","rebac_allow":false,"scope_allow":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":"12e6f3e0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.779222062Z"}]},"request_id":"1df670da-92d0-405c-99fc-858759f50700","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.0921438} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12e657a0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.828168013Z"}]},"request_id":"81023516-ef01-4735-917e-2bd65dd2af77","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.0975995} device_1 | {"level":"info","message":"POST /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling 200 21ms","method":"POST","requestID":"12e6f3e0-f803-11ee-94dd-ef446cbc77bc","responseTime":21,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/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":"12e6a5c0-f803-11ee-94dd-ef446cbc77bc"},"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/29551be6-1bed-4eea-87e4-fb2dcdb94de4? 200 34ms","method":"GET","requestID":"12e657a0-f803-11ee-94dd-ef446cbc77bc","responseTime":34,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51bebde0-fa86-4955-a637-e39d8dc2cf21#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51bebde0-fa86-4955-a637-e39d8dc2cf21","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"460a3633-115d-4ed3-afad-10c24c0542a1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.107101} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc6b650b-2c6c-4066-8457-0925644e4275","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.107345} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f22f65cc-30e1-4252-8014-bd6745134928? 200 33ms","method":"GET","requestID":"12e6a5c0-f803-11ee-94dd-ef446cbc77bc","responseTime":33,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928?"} 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":"d58a4ed26654009fbc24167335171916"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e7a6278-83e4-449a-b952-3776e89fcf38","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.110419} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.853863,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","rebac_allow":false,"scope_allow":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":"12eaeb80-f803-11ee-94dd-ef446cbc77bc"},"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:53134","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f22f65cc-30e1-4252-8014-bd6745134928/signaling 200 13ms","method":"POST","requestID":"12eaeb80-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6bb3499a-5167-4bf5-9bce-1015c6ffa4bf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.1183305} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.753624,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","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/51bebde0-fa86-4955-a637-e39d8dc2cf21","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"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":"12ec4b10-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"d58a4ed26654009fbc24167335171916","responseTime":165,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d58a4ed26654009fbc24167335171916"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling 200 10ms","method":"POST","requestID":"12ec4b10-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4e231da6cbb73e676d08190fb94fd300","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbddb89f-40dd-4d41-a421-dfcacbcb1d1c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.1313577} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.402328,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840258,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e231da6cbb73e676d08190fb94fd300"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.974275,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12ee46e0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.779222062Z"}]},"request_id":"f1c0f2d6-97e4-4d80-8cfb-aca25d02db8d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.1369972} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f22f65cc-30e1-4252-8014-bd6745134928/signaling 200 11ms","method":"POST","requestID":"12ee46e0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928/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":"4e231da6cbb73e676d08190fb94fd300"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"247a0506-f3e5-44c1-9c3b-e301dc57fb4c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c1472ba6-e328-4cc5-85c4-7b1a9417aabd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9ff72006-ef6b-4bb4-8f62-891fe7908225"}]},"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/f22f65cc-30e1-4252-8014-bd6745134928"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e231da6cbb73e676d08190fb94fd300"} device_1 | {"level":"info","message":"GET /devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4? 200 13ms","method":"GET","requestID":"4e231da6cbb73e676d08190fb94fd300","responseTime":13,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4?"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.750342,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"44eddeda04bae918229829e18cdfecc9","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840257,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1N30.aixVJjvwmKBQzzTS7rODW6gdaWwcn4o3KvxVD3d5iWk"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12f0def0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896923,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840258,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44eddeda04bae918229829e18cdfecc9"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:35.828168013Z"}]},"request_id":"527b4719-8a8e-4664-b553-7f17dd447528","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.1570122} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44eddeda04bae918229829e18cdfecc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"05f6c68e-8108-4b68-afd4-7090ea98de0d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.157882} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dd3e62b-21c0-4f11-8a03-27fbe2646ec2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.1580942} 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":"12f0def0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f22f65cc-30e1-4252-8014-bd6745134928? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44eddeda04bae918229829e18cdfecc9"} device_1 | {"level":"info","message":"GET /devices/f22f65cc-30e1-4252-8014-bd6745134928? 200 15ms","method":"GET","requestID":"44eddeda04bae918229829e18cdfecc9","responseTime":15,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928?"} 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/235be43c-ba46-442c-84fc-cf9c521c5d81'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81'"} 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":"12f0def0-f803-11ee-94dd-ef446cbc77bc","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"235be43c-ba46-442c-84fc-cf9c521c5d81","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f753da4b-270c-4eda-9569-96493b03a89a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.2148013} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.189222,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","rebac_allow":false,"scope_allow":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":"12fb1820-f803-11ee-94dd-ef446cbc77bc"},"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/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling 200 10ms","method":"POST","requestID":"12fb1820-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"235be43c-ba46-442c-84fc-cf9c521c5d81","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97d64e52-abff-4292-bb8d-65d938bee100","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.2279973} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.362539,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","rebac_allow":false,"scope_allow":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":"12fd13f0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"1c70780349c8cc790dda4872b1d1c705","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f22f65cc-30e1-4252-8014-bd6745134928/signaling 200 13ms","method":"POST","requestID":"12fd13f0-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928/signaling"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"1c70780349c8cc790dda4872b1d1c705","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"1c70780349c8cc790dda4872b1d1c705"} device_1 | {"data":{"peerconnection":"235be43c-ba46-442c-84fc-cf9c521c5d81","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"235be43c-ba46-442c-84fc-cf9c521c5d81","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/235be43c-ba46-442c-84fc-cf9c521c5d81' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"235be43c-ba46-442c-84fc-cf9c521c5d81","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8d102e675fe2c49e02d0ecc4c37e2953","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/f22f65cc-30e1-4252-8014-bd6745134928"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F235be43c-ba46-442c-84fc-cf9c521c5d81","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05a4ade7-5baf-44c6-96a5-bf5f117a45ef","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.28969} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.448308,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81","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":"130689d0-f803-11ee-94dd-ef446cbc77bc"},"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/235be43c-ba46-442c-84fc-cf9c521c5d81 200 9ms","method":"GET","requestID":"130689d0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"8d102e675fe2c49e02d0ecc4c37e2953","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d102e675fe2c49e02d0ecc4c37e2953"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5411604b-c2c5-4ae9-872e-1186edb5e180","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.3152466} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.920298,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"130a5a60-f803-11ee-94dd-ef446cbc77bc"},"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/f22f65cc-30e1-4252-8014-bd6745134928/signaling 200 10ms","method":"POST","requestID":"130a5a60-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e1ba84d-7eaa-4307-8e5f-f5eaf462191a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.3275535} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.110253,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"130c2f20-f803-11ee-94dd-ef446cbc77bc"},"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/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling 200 10ms","method":"POST","requestID":"130c2f20-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"38e4f71aabf41ee37ef14ad5ae1719dc","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.136344,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840258,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0"} 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":"38e4f71aabf41ee37ef14ad5ae1719dc"},"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/51bebde0-fa86-4955-a637-e39d8dc2cf21"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38e4f71aabf41ee37ef14ad5ae1719dc"} experiment_1 | {"level":"info","message":"GET /experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21 200 20ms","method":"GET","requestID":"38e4f71aabf41ee37ef14ad5ae1719dc","responseTime":20,"status":200,"url":"/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"83feb6d44a68544559161887d3472120","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.365172,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840258,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0"} 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":"83feb6d44a68544559161887d3472120"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.949387,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840258,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"131be690-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"235be43c-ba46-442c-84fc-cf9c521c5d81","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F235be43c-ba46-442c-84fc-cf9c521c5d81': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F235be43c-ba46-442c-84fc-cf9c521c5d81","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"80a52555-f9cd-43c0-9c71-b2536038d8ac","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.4538321} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fab8e38b-4542-488e-a5a2-5bda526b306a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.4542177} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6ee14c1e485298dda3aa008b7f152aeb","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"552cc6ed6f10b4f788bc9360d73d1728","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":"131be690-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"235be43c-ba46-442c-84fc-cf9c521c5d81","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/235be43c-ba46-442c-84fc-cf9c521c5d81 204 66ms","method":"DELETE","requestID":"131be690-f803-11ee-94dd-ef446cbc77bc","responseTime":66,"status":204,"url":"/peerconnections/235be43c-ba46-442c-84fc-cf9c521c5d81"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff22f65cc-30e1-4252-8014-bd6745134928","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9f4fadc-43e1-43a8-b696-0c27807c7b93","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.5240808} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.385575,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f22f65cc-30e1-4252-8014-bd6745134928","object_type":"device","rebac_allow":false,"scope_allow":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":"1329c940-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51bebde0-fa86-4955-a637-e39d8dc2cf21': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F51bebde0-fa86-4955-a637-e39d8dc2cf21","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"9f67f045-d8fb-4ef8-881f-a17082874cc4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.5335014} device_1 | {"level":"info","message":"POST /devices/f22f65cc-30e1-4252-8014-bd6745134928/signaling 200 18ms","method":"POST","requestID":"1329c940-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/f22f65cc-30e1-4252-8014-bd6745134928/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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afcf42cb-4f51-41c6-970f-c1dcbf4709c3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.5342581} 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":"83feb6d44a68544559161887d3472120"},"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:53134","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29551be6-1bed-4eea-87e4-fb2dcdb94de4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6815b39-157b-41a3-a306-078592b328c2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.5467827} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.065062,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4","object_type":"device","rebac_allow":false,"scope_allow":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":"132d4bb0-f803-11ee-94dd-ef446cbc77bc"},"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/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling 200 16ms","method":"POST","requestID":"132d4bb0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/29551be6-1bed-4eea-87e4-fb2dcdb94de4/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83feb6d44a68544559161887d3472120"} experiment_1 | {"level":"info","message":"DELETE /experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21 204 199ms","method":"DELETE","requestID":"83feb6d44a68544559161887d3472120","responseTime":199,"status":204,"url":"/experiments/51bebde0-fa86-4955-a637-e39d8dc2cf21"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1878","request_time":"2.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3f7a9b9d8f5daa7b770d10047682c977"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"6ee14c1e485298dda3aa008b7f152aeb","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ee14c1e485298dda3aa008b7f152aeb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"552cc6ed6f10b4f788bc9360d73d1728","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"552cc6ed6f10b4f788bc9360d73d1728"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c6878d54c18b88cfac6e6f45b3910570","responseTime":3,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.727","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4e775acc68c32f8653db3552980577db"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.070338,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840258,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0"} 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":"c6878d54c18b88cfac6e6f45b3910570"},"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/29551be6-1bed-4eea-87e4-fb2dcdb94de4' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6c78396-99d5-4e4e-b833-d1afa8d5f81a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.6350815} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6878d54c18b88cfac6e6f45b3910570"},"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/f22f65cc-30e1-4252-8014-bd6745134928' 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9143f8f-0e96-4028-9aae-4a35c993aa8a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.6428294} 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":"c6878d54c18b88cfac6e6f45b3910570"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"59059a22-0c87-453c-a341-6d98b1c568aa","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.6538517} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fab805d2-ebbe-46c2-978f-c54d9c7145b9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.6540687} 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":"c6878d54c18b88cfac6e6f45b3910570"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.653837523Z"}]},"request_id":"0d2a2766-9d33-41a7-8b5c-02ba7d6b5fc1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.6600108} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6878d54c18b88cfac6e6f45b3910570"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"c6878d54c18b88cfac6e6f45b3910570","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6878d54c18b88cfac6e6f45b3910570"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9a25f467b9320ca9cec139b101c74ac","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.7825,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840258,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OH0.Ioo71T0sYFcKD4ZrDp_Z5cW2RdQ_PpRyI9Uh1CI3vd0"} 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":"c9a25f467b9320ca9cec139b101c74ac"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5fa4ca3-09cd-486b-9632-650778a266d6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.6884918} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9a25f467b9320ca9cec139b101c74ac"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c32a79ee-ba39-4c56-b210-3f1f9f4ff16f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.694447} 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":"c9a25f467b9320ca9cec139b101c74ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"01d8211c-dce5-43ca-9d88-494a20f8e7d9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.7072654} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a485ed51-7bcd-486a-9700-37ea631fd73c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.707511} 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":"c9a25f467b9320ca9cec139b101c74ac"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.707253396Z"}]},"request_id":"bf7bd4c5-079a-46e3-931a-62978660ff23","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840258.7128224} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9a25f467b9320ca9cec139b101c74ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"c9a25f467b9320ca9cec139b101c74ac","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9a25f467b9320ca9cec139b101c74ac"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"32ed0de8da9a39f18dc356513d7233c0","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058602,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32ed0de8da9a39f18dc356513d7233c0"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.653837523Z"}]},"request_id":"90ae01fc-79de-436b-9175-329c6b4e1040","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.1894178} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d97c4a53bbec4921bc07fdf54355c8e","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32ed0de8da9a39f18dc356513d7233c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f4a4b8f-a9ce-4e29-b006-124f47564f39","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.1957965} 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":"32ed0de8da9a39f18dc356513d7233c0"},"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:53134","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695007,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d97c4a53bbec4921bc07fdf54355c8e"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.653837523Z"}]},"request_id":"529ad99f-36fd-495b-86b3-7499ec044a57","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.219427} 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":"32ed0de8da9a39f18dc356513d7233c0"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.707253396Z"}]},"request_id":"95955b03-1081-40d8-a43c-6bf07783c56f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.2218208} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d97c4a53bbec4921bc07fdf54355c8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"PATCH /devices/27259808-9d66-43e6-979e-cf3c414ae8db 200 47ms","method":"PATCH","requestID":"32ed0de8da9a39f18dc356513d7233c0","responseTime":47,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/27259808-9d66-43e6-979e-cf3c414ae8db HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"32ed0de8da9a39f18dc356513d7233c0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53fcb878c0d5f1375810a7a000c464d8","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0ab87d4-e710-4cdc-b229-5aa8b4fdf7a7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.2293835} 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":"7d97c4a53bbec4921bc07fdf54355c8e"},"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:53134","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704569,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53fcb878c0d5f1375810a7a000c464d8"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.707253396Z"}]},"request_id":"75b54a1f-cfa8-44b0-8a71-037f22ff3ce4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.2389128} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d97c4a53bbec4921bc07fdf54355c8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7d97c4a53bbec4921bc07fdf54355c8e"} device_1 | {"level":"info","message":"PATCH /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b 200 45ms","method":"PATCH","requestID":"7d97c4a53bbec4921bc07fdf54355c8e","responseTime":45,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee6e648a1608a91ed839525308538e22","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/27259808-9d66-43e6-979e-cf3c414ae8db/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"53fcb878c0d5f1375810a7a000c464d8"} device_1 | {"level":"info","message":"POST /devices/27259808-9d66-43e6-979e-cf3c414ae8db/websocket 200 21ms","method":"POST","requestID":"53fcb878c0d5f1375810a7a000c464d8","responseTime":21,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db/websocket"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692985,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee6e648a1608a91ed839525308538e22"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ee6e648a1608a91ed839525308538e22"} device_1 | {"level":"info","message":"POST /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/websocket 200 10ms","method":"POST","requestID":"ee6e648a1608a91ed839525308538e22","responseTime":10,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1baa266a6d4c3f1fe083da8f9f328d47","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866025,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1baa266a6d4c3f1fe083da8f9f328d47"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.653837523Z"}]},"request_id":"87b2d1a1-761a-41c4-a2fc-0da729ab9607","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.29356} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1baa266a6d4c3f1fe083da8f9f328d47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27259808-9d66-43e6-979e-cf3c414ae8db? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1baa266a6d4c3f1fe083da8f9f328d47"} device_1 | {"level":"info","message":"GET /devices/27259808-9d66-43e6-979e-cf3c414ae8db? 200 12ms","method":"GET","requestID":"1baa266a6d4c3f1fe083da8f9f328d47","responseTime":12,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b4530b77e5841ab2dc8557f1b28c5404","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.379854,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4530b77e5841ab2dc8557f1b28c5404"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.707253396Z"}]},"request_id":"c0d6e966-e02b-4ed0-905a-db6509ca8171","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.3181238} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4530b77e5841ab2dc8557f1b28c5404"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4530b77e5841ab2dc8557f1b28c5404"} device_1 | {"level":"info","message":"GET /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b? 200 18ms","method":"GET","requestID":"b4530b77e5841ab2dc8557f1b28c5404","responseTime":18,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21755fe3391f509ce93d8372426e3278","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:53134","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.649107,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"21755fe3391f509ce93d8372426e3278"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"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:53134","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28514,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"13aed7c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.579539,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"13af25e0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.653837523Z"}]},"request_id":"f4573aec-6fdc-4ff6-b50e-5235da779fac","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.403539} 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":"13aed7c0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.707253396Z"}]},"request_id":"569ee3d1-78d4-436e-8380-b05a4f750f83","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.4051864} 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":"13af25e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/27259808-9d66-43e6-979e-cf3c414ae8db? 200 26ms","method":"GET","requestID":"13aed7c0-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b? 200 25ms","method":"GET","requestID":"13af25e0-f803-11ee-94dd-ef446cbc77bc","responseTime":25,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"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:53134","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.79458,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"13bda4d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.768295,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"13bdf2f0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.653837523Z"}]},"request_id":"7580ab79-6530-4395-835f-120e24e738e9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5111654} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.707253396Z"}]},"request_id":"b65e9034-6bda-428a-badd-39a797fe4056","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5130887} 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":"13bda4d0-f803-11ee-94dd-ef446cbc77bc"},"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 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9cb3ca7-c48c-4d85-8b41-67be01788be3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.517501} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.67233,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} device_1 | {"level":"info","message":"GET /devices/27259808-9d66-43e6-979e-cf3c414ae8db? 200 37ms","method":"GET","requestID":"13bda4d0-f803-11ee-94dd-ef446cbc77bc","responseTime":37,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db?"} 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":"13bdf2f0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 31ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13be4110-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":31}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff0b2641d-4c23-49b6-8378-480e86ae905d#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff0b2641d-4c23-49b6-8378-480e86ae905d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"e6f45f34-7a86-4167-9dd7-298d001165d9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5212681} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72e87612-37ea-4af9-83c0-5c9a61b12467","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5219722} authorization_1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21755fe3391f509ce93d8372426e3278"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b? 200 44ms","method":"GET","requestID":"13bdf2f0-f803-11ee-94dd-ef446cbc77bc","responseTime":44,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling 200 45ms","method":"POST","requestID":"13be4110-f803-11ee-94dd-ef446cbc77bc","responseTime":45,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"779edbf6-2738-4794-abac-bb3933c15ac8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5475416} experiment_1 | {"data":{"experiment":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.75574,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 220ms","method":"POST","requestID":"21755fe3391f509ce93d8372426e3278","responseTime":220,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","rebac_allow":false,"scope_allow":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":"13c5bb20-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.226","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21755fe3391f509ce93d8372426e3278"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a380ae9-38c8-42b6-bc97-8db96eaaef3f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5504394} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.287532,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","rebac_allow":false,"scope_allow":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":"13c63050-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"5c9b40165cce53960e6cce2de96031d5","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling 200 25ms","method":"POST","requestID":"13c5bb20-f803-11ee-94dd-ef446cbc77bc","responseTime":25,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling 200 23ms","method":"POST","requestID":"13c63050-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.649939,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"5c9b40165cce53960e6cce2de96031d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0cc93f9-f5b3-403c-901d-fd44726192cc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5733645} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614407,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","rebac_allow":false,"scope_allow":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":"13ca00e0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.653837523Z"}]},"request_id":"5095408d-a78f-4381-aae7-2b47748d0514","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.5783737} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling 200 13ms","method":"POST","requestID":"13ca00e0-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/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":"5c9b40165cce53960e6cce2de96031d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"d1631fae-500f-45d6-b0a6-7a3e76c4c0d1"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f8f880ab-f207-44ff-b2c1-6a7848876713"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7da28bf0-8981-487d-a7cf-37955208e7e1"}]},"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/27259808-9d66-43e6-979e-cf3c414ae8db"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27259808-9d66-43e6-979e-cf3c414ae8db? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c9b40165cce53960e6cce2de96031d5"} device_1 | {"level":"info","message":"GET /devices/27259808-9d66-43e6-979e-cf3c414ae8db? 200 20ms","method":"GET","requestID":"5c9b40165cce53960e6cce2de96031d5","responseTime":20,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db?"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.136576,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"09faa402706ecdc528eb87d135064b27","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"13cce710-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.028395,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09faa402706ecdc528eb87d135064b27"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"904576ce-220d-4823-bea7-121dc6977260","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.6033652} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20dc1668-c3dc-4139-8d79-a79dd77249a6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.604504} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:38.707253396Z"}]},"request_id":"546b66fc-15ec-4b69-8546-2daabafe6c2b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.6046169} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09faa402706ecdc528eb87d135064b27"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13cce710-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09faa402706ecdc528eb87d135064b27"} device_1 | {"level":"info","message":"GET /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b? 200 22ms","method":"GET","requestID":"09faa402706ecdc528eb87d135064b27","responseTime":22,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b?"} 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/11ad2912-fc6a-4172-b038-6272351414e5'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5'"} 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":"13cce710-f803-11ee-94dd-ef446cbc77bc","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fb44467-9b2e-4da4-8574-abd7d8264d87","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.6857476} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.991144,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13db6600-f803-11ee-94dd-ef446cbc77bc"},"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/11ad2912-fc6a-4172-b038-6272351414e5' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling 200 17ms","method":"POST","requestID":"13db6600-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea5e098afb91c04cec372c60638ad92c","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/27259808-9d66-43e6-979e-cf3c414ae8db"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0677c44c-4a9d-4709-8ead-ab7c781c6e38","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.7073753} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879586,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"ea5e098afb91c04cec372c60638ad92c","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea5e098afb91c04cec372c60638ad92c"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13de9a50-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling 200 12ms","method":"POST","requestID":"13de9a50-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling"} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","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/11ad2912-fc6a-4172-b038-6272351414e5' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"79917c3c7b31715d56488402df13375f","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F11ad2912-fc6a-4172-b038-6272351414e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5cf050c5-cdba-4e80-aeff-f7f13caaea6f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.7544804} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.206487,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5","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":"13e61460-f803-11ee-94dd-ef446cbc77bc"},"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/11ad2912-fc6a-4172-b038-6272351414e5 200 9ms","method":"GET","requestID":"13e61460-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"79917c3c7b31715d56488402df13375f","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"79917c3c7b31715d56488402df13375f"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3b13202-94e1-4106-9b26-06a5325ee91f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.7842007} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423049,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13ea8130-f803-11ee-94dd-ef446cbc77bc"},"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/27259808-9d66-43e6-979e-cf3c414ae8db/signaling 200 10ms","method":"POST","requestID":"13ea8130-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab7f1e61-acd4-43da-862b-698f84d96d6d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.7962012} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.424863,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13ec55f0-f803-11ee-94dd-ef446cbc77bc"},"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/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling 200 10ms","method":"POST","requestID":"13ec55f0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e0ac09bb8b0c5fd103aff3d20b2ede4c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.533745,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"e0ac09bb8b0c5fd103aff3d20b2ede4c"},"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/f0b2641d-4c23-49b6-8378-480e86ae905d"} gateway_1 | {"time_local":"11/Apr/2024:12:57:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f0b2641d-4c23-49b6-8378-480e86ae905d HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0ac09bb8b0c5fd103aff3d20b2ede4c"} experiment_1 | {"level":"info","message":"GET /experiments/f0b2641d-4c23-49b6-8378-480e86ae905d 200 15ms","method":"GET","requestID":"e0ac09bb8b0c5fd103aff3d20b2ede4c","responseTime":15,"status":200,"url":"/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"800e89745f0de7335dd721dfb1b415d5","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.119344,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"800e89745f0de7335dd721dfb1b415d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.302865,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840259,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI1OX0.WCWUUWfo7fCnxpW895Tr59ENDYSHf8Z5IiHcBCE5_-Q"} 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":"13f9ea80-f803-11ee-94dd-ef446cbc77bc"},"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/11ad2912-fc6a-4172-b038-6272351414e5' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b220897a98232cdba6d1eee80894b1a4","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5fa5af092bc9a0abff3bad67c736b3f3","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/27259808-9d66-43e6-979e-cf3c414ae8db"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F11ad2912-fc6a-4172-b038-6272351414e5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F11ad2912-fc6a-4172-b038-6272351414e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"d64093b9-b874-4aa6-a361-690ae76ffe4b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.9049194} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"679fdf62-b80f-4ef0-89bd-1adf664edd06","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.906194} 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":"13f9ea80-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"11ad2912-fc6a-4172-b038-6272351414e5","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/11ad2912-fc6a-4172-b038-6272351414e5 204 61ms","method":"DELETE","requestID":"13f9ea80-f803-11ee-94dd-ef446cbc77bc","responseTime":61,"status":204,"url":"/peerconnections/11ad2912-fc6a-4172-b038-6272351414e5"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27259808-9d66-43e6-979e-cf3c414ae8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab430691-1acb-4a59-b5bc-3b455baa451b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.9727185} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.416309,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27259808-9d66-43e6-979e-cf3c414ae8db","object_type":"device","rebac_allow":false,"scope_allow":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":"1406e2d0-f803-11ee-94dd-ef446cbc77bc"},"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/27259808-9d66-43e6-979e-cf3c414ae8db/signaling 200 17ms","method":"POST","requestID":"1406e2d0-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/27259808-9d66-43e6-979e-cf3c414ae8db/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff0b2641d-4c23-49b6-8378-480e86ae905d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff0b2641d-4c23-49b6-8378-480e86ae905d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"c7646d5e-d6c2-40d9-a203-ad0cbfcd429f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.984708} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef17d3ae-3b3e-473d-be6c-d0571e6a77bd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.985146} 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":"800e89745f0de7335dd721dfb1b415d5"},"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:53134","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc2b602a-70dc-4a9d-adf4-e5681618e20e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840259.9932895} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.031513,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b","object_type":"device","rebac_allow":false,"scope_allow":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":"1409f010-f803-11ee-94dd-ef446cbc77bc"},"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/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling 200 16ms","method":"POST","requestID":"1409f010-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f0b2641d-4c23-49b6-8378-480e86ae905d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"800e89745f0de7335dd721dfb1b415d5"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.796","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"0cb4513e55a8d76a3e7a9812513ea905"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.805","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d2ff7d981172a52c91d8b0fadff2e0e6"} experiment_1 | {"level":"info","message":"DELETE /experiments/f0b2641d-4c23-49b6-8378-480e86ae905d 204 193ms","method":"DELETE","requestID":"800e89745f0de7335dd721dfb1b415d5","responseTime":193,"status":204,"url":"/experiments/f0b2641d-4c23-49b6-8378-480e86ae905d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"b220897a98232cdba6d1eee80894b1a4","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"b220897a98232cdba6d1eee80894b1a4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"5fa5af092bc9a0abff3bad67c736b3f3","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fa5af092bc9a0abff3bad67c736b3f3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"97688ca10fcab5071e574c5cee1f9175","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/27259808-9d66-43e6-979e-cf3c414ae8db' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.995504,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4143ec7d-ce8a-4f0c-bc72-faeebe39eb7b' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"97688ca10fcab5071e574c5cee1f9175"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61fcd400-4ac0-4875-be74-6af9be76aed7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"64dcd21e-c58b-402a-8acc-125f88fdd694","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.0875833} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97688ca10fcab5071e574c5cee1f9175"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd7fdf78-fc29-4c35-9035-38fe04d2d133","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.0955791} 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":"97688ca10fcab5071e574c5cee1f9175"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61fcd400-4ac0-4875-be74-6af9be76aed7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"c61dcdde-4726-4267-924e-acf6e99e0773","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1067631} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e82a4794-8227-4d39-a4cb-e667cb8cea3d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1069033} 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":"97688ca10fcab5071e574c5cee1f9175"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61fcd400-4ac0-4875-be74-6af9be76aed7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61fcd400-4ac0-4875-be74-6af9be76aed7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.106745381Z"}]},"request_id":"a30af962-c3c9-40f0-b91d-fd67fee84510","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1131537} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97688ca10fcab5071e574c5cee1f9175"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"97688ca10fcab5071e574c5cee1f9175","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97688ca10fcab5071e574c5cee1f9175"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ad5770af61fea23977632b23eea41e4","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.860453,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"0ad5770af61fea23977632b23eea41e4"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4599b69-06fe-441d-848a-1329cedc95e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1c7cb9e7-87f9-411e-b157-4aa946fb0769","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1446335} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ad5770af61fea23977632b23eea41e4"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea4c10ff-5a36-4cbe-8dcf-22bfd03164f6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1507394} 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":"0ad5770af61fea23977632b23eea41e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4599b69-06fe-441d-848a-1329cedc95e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"099f079a-23f2-4244-9cd3-47514a20ce58","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1618032} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e3e1fab-db2d-46b8-b550-59550cc434cf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1620357} 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":"0ad5770af61fea23977632b23eea41e4"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4599b69-06fe-441d-848a-1329cedc95e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4599b69-06fe-441d-848a-1329cedc95e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.161786984Z"}]},"request_id":"ed62a92b-abc0-4cb0-aca9-0b00d2d37aa3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1681767} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ad5770af61fea23977632b23eea41e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"0ad5770af61fea23977632b23eea41e4","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ad5770af61fea23977632b23eea41e4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69873a42adac6005ad0c464490112de2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.05015,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"69873a42adac6005ad0c464490112de2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F936f19f3-b0f5-4232-a106-6e2c6241cd88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b819509c-75d8-41b6-af50-8ff5bfb92ce2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.1971118} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69873a42adac6005ad0c464490112de2"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b00a2890-6f14-477b-975b-699b28b07bc4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2027411} 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":"69873a42adac6005ad0c464490112de2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F936f19f3-b0f5-4232-a106-6e2c6241cd88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"1c7af5ed-9121-4996-8365-c4df5bb9d117","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2120805} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fda66342-0eec-447d-b308-5bcbcf8b5cdc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2123632} 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":"69873a42adac6005ad0c464490112de2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F936f19f3-b0f5-4232-a106-6e2c6241cd88","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F936f19f3-b0f5-4232-a106-6e2c6241cd88","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.212064532Z"}]},"request_id":"d217e860-b8f5-43db-bf7e-eb3e8f17de74","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2168906} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69873a42adac6005ad0c464490112de2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"69873a42adac6005ad0c464490112de2","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69873a42adac6005ad0c464490112de2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbcaaef956c7fa091844e91a2837bad9","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.197739,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"fbcaaef956c7fa091844e91a2837bad9"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45262632-2f52-4937-8658-4278800d903c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06ab716e-6ba5-483b-b7ba-196b18a6d1b9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2554507} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbcaaef956c7fa091844e91a2837bad9"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4c9aae1-cda9-4ba6-8492-29b56094a8f2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2645116} 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":"fbcaaef956c7fa091844e91a2837bad9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45262632-2f52-4937-8658-4278800d903c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"82863286-8449-4f90-a947-be4c70c25b4f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2793305} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97b9ca03-07ac-428c-ac55-61ade40d2328","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2798874} 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":"fbcaaef956c7fa091844e91a2837bad9"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45262632-2f52-4937-8658-4278800d903c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45262632-2f52-4937-8658-4278800d903c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.279302541Z"}]},"request_id":"081e7650-eac0-4d44-9df6-50f04882691c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.2884939} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbcaaef956c7fa091844e91a2837bad9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"fbcaaef956c7fa091844e91a2837bad9","responseTime":64,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fbcaaef956c7fa091844e91a2837bad9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5340ebc1397ac4df828085619fa838ce","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.261121,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"5340ebc1397ac4df828085619fa838ce"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7648367e-8079-4777-a3f0-f2ab29834331","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"19fc654f-e79d-448d-90c5-2872f281879a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.3259256} 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":"5340ebc1397ac4df828085619fa838ce"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c64f64fa-766e-467d-8cf0-24c58c83ce14","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.3353567} 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":"5340ebc1397ac4df828085619fa838ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7648367e-8079-4777-a3f0-f2ab29834331","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"3a3490cb-9b6f-4f12-862f-b818f5a533dc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.3481455} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5fa0b0e9-614a-4589-b5f7-6ad81f84abdd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.3483863} 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":"5340ebc1397ac4df828085619fa838ce"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7648367e-8079-4777-a3f0-f2ab29834331","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7648367e-8079-4777-a3f0-f2ab29834331","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.348112421Z"}]},"request_id":"60b4c5e4-2bdf-4e75-88c8-abc9e27fcad3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.3572955} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5340ebc1397ac4df828085619fa838ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"5340ebc1397ac4df828085619fa838ce","responseTime":60,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5340ebc1397ac4df828085619fa838ce"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"078f854a43b28a8c8f25e7c0ec909972","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.125611,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"078f854a43b28a8c8f25e7c0ec909972"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d432ff8-902b-4b28-acfa-636e99121c9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ee0b971c-0c3d-4468-a63a-32419c85f1aa","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.3974438} 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":"078f854a43b28a8c8f25e7c0ec909972"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f1cd452-f57d-49c3-b29b-386a86006dc8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.4057205} 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":"078f854a43b28a8c8f25e7c0ec909972"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d432ff8-902b-4b28-acfa-636e99121c9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"ddf6f336-9232-4509-8e52-d0b722e7f188","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.4200335} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"979ab4da-b5de-4a46-b467-fcdb265cdf2a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.4202318} 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":"078f854a43b28a8c8f25e7c0ec909972"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d432ff8-902b-4b28-acfa-636e99121c9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4d432ff8-902b-4b28-acfa-636e99121c9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.420001145Z"}]},"request_id":"6980b771-7b33-4cb3-b391-2a00a29a94bb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.4298341} 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":"078f854a43b28a8c8f25e7c0ec909972"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"078f854a43b28a8c8f25e7c0ec909972","responseTime":62,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"078f854a43b28a8c8f25e7c0ec909972"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"04896c00c21803538aad822759d1c4e2","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.152789,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"04896c00c21803538aad822759d1c4e2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23359afa-8cce-4927-b7ef-95f8d8578b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"703b6852-0f47-4670-bbc3-174fe2830232","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.4641798} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04896c00c21803538aad822759d1c4e2"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e62faa08-2939-43d6-98ad-99084c92e369","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.469965} 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":"04896c00c21803538aad822759d1c4e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23359afa-8cce-4927-b7ef-95f8d8578b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"d204cc47-f29c-4f77-a73a-33f36984b6b4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.481378} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07cbc3df-2ce8-41bb-87b9-835bbd555add","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.481649} 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":"04896c00c21803538aad822759d1c4e2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23359afa-8cce-4927-b7ef-95f8d8578b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23359afa-8cce-4927-b7ef-95f8d8578b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.481358818Z"}]},"request_id":"cc6ed764-065a-4123-9151-a62eb8f0906d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.48883} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04896c00c21803538aad822759d1c4e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"04896c00c21803538aad822759d1c4e2","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04896c00c21803538aad822759d1c4e2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"de2262fb4f4ca1196ff951d2bd4464dc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.331904,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"de2262fb4f4ca1196ff951d2bd4464dc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9b06507-0797-40ec-94f9-33fbca1998c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3ccffb7-bf4e-462e-b422-925225c55ab3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.5249252} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de2262fb4f4ca1196ff951d2bd4464dc"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5054978b-9b23-47a9-9b6d-2b881db64436","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.5312812} 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":"de2262fb4f4ca1196ff951d2bd4464dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9b06507-0797-40ec-94f9-33fbca1998c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"61dc9ae3-b782-49ba-8e18-f57297261fd3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.5478446} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eabd8203-6636-4758-9c56-8909b8481760","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.5481195} 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":"de2262fb4f4ca1196ff951d2bd4464dc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9b06507-0797-40ec-94f9-33fbca1998c6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9b06507-0797-40ec-94f9-33fbca1998c6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.547818596Z"}]},"request_id":"878df5db-3008-4a7e-9a84-2e9133fec4f4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.5538857} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de2262fb4f4ca1196ff951d2bd4464dc"},"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 57ms","method":"POST","requestID":"de2262fb4f4ca1196ff951d2bd4464dc","responseTime":57,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de2262fb4f4ca1196ff951d2bd4464dc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26824196df90d9bbaa0a5456c2dd35ae","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.238291,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"26824196df90d9bbaa0a5456c2dd35ae"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F904d60b0-11f6-4ed3-9fc2-3c2bf2336e79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"066f8470-959d-4218-bcfa-4e3e75ce7294","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.585677} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26824196df90d9bbaa0a5456c2dd35ae"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6609336-0c3d-4fb7-8871-b044e0874487","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.5918593} 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":"26824196df90d9bbaa0a5456c2dd35ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F904d60b0-11f6-4ed3-9fc2-3c2bf2336e79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"66543647-f6a9-4a15-9ebe-58ff70736e6e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6027842} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"934cbaa1-87ec-48e2-bd8f-a46c0fd3b267","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6030395} 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":"26824196df90d9bbaa0a5456c2dd35ae"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F904d60b0-11f6-4ed3-9fc2-3c2bf2336e79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F904d60b0-11f6-4ed3-9fc2-3c2bf2336e79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.602763385Z"}]},"request_id":"06c2e91a-b710-4064-8e31-b27e99256bb4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6089199} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26824196df90d9bbaa0a5456c2dd35ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"26824196df90d9bbaa0a5456c2dd35ae","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26824196df90d9bbaa0a5456c2dd35ae"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"33710275771c00f5403428b62f361248","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.982944,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"33710275771c00f5403428b62f361248"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff29a4e44-4ce4-459e-b1b3-c2af513e39bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a311b9c0-3192-439a-b4c4-e8d083fb71c3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6400392} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33710275771c00f5403428b62f361248"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95faa25a-5158-48c2-b139-f6f0dd62f84e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.647118} 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":"33710275771c00f5403428b62f361248"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff29a4e44-4ce4-459e-b1b3-c2af513e39bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"937f07da-c51a-4572-a5b0-956f55c636a0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6593783} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c796821-5f1e-4046-af3c-03a9fb28276c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6597006} 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":"33710275771c00f5403428b62f361248"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff29a4e44-4ce4-459e-b1b3-c2af513e39bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff29a4e44-4ce4-459e-b1b3-c2af513e39bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.659360770Z"}]},"request_id":"7348b525-4f7d-47de-9b65-cc136ceafcb3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6654775} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33710275771c00f5403428b62f361248"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"33710275771c00f5403428b62f361248","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33710275771c00f5403428b62f361248"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0973d335ccc4001687a694eb5b33394","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.615843,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"a0973d335ccc4001687a694eb5b33394"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"98737a1e-8c58-46eb-babf-050edf54ae5d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.6975887} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0973d335ccc4001687a694eb5b33394"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b25a327d-e512-46ef-9981-c3ec5247aa07","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7029243} 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":"a0973d335ccc4001687a694eb5b33394"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"8c9e1aa1-98ed-486b-a662-62f84c8ca680","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7140958} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b07eda49-47c9-49f5-ba88-d00605bdfc84","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7144458} 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":"a0973d335ccc4001687a694eb5b33394"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.714071049Z"}]},"request_id":"b2195c34-2d1b-4423-a248-024258a4a961","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7189896} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0973d335ccc4001687a694eb5b33394"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"a0973d335ccc4001687a694eb5b33394","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0973d335ccc4001687a694eb5b33394"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9da750eac277b2a5d7782b5741fa5ea3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.274192,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"9da750eac277b2a5d7782b5741fa5ea3"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3d25b836-67e8-4c62-912e-409629f88cfe","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7511168} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9da750eac277b2a5d7782b5741fa5ea3"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94446e98-895d-488d-adba-170cc4e98cdc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7572088} 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":"9da750eac277b2a5d7782b5741fa5ea3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"335ea3e3-428a-40c1-9a65-506d8b45dec6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7669523} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d29e06c-9035-46e1-bb51-b496d9f991cc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7671137} 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":"9da750eac277b2a5d7782b5741fa5ea3"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.766934459Z"}]},"request_id":"bd22d655-834a-41aa-8cfb-c05b85ee71de","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.7719223} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9da750eac277b2a5d7782b5741fa5ea3"},"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":"9da750eac277b2a5d7782b5741fa5ea3","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9da750eac277b2a5d7782b5741fa5ea3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d5bd2b8f17358a9ec06dcfdbc902bec1","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.141666,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} 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":"d5bd2b8f17358a9ec06dcfdbc902bec1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3f95e93c-6993-41c8-a52b-0cc0016ecb74","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.8066332} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5bd2b8f17358a9ec06dcfdbc902bec1"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c6897fd-869f-43aa-be33-4328fbcb68ea","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.8143432} 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":"d5bd2b8f17358a9ec06dcfdbc902bec1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"d581460b-d35f-486b-85ed-a42d4d16fa57","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.8269615} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a5ffc28-47d8-41d4-aac1-1d609c1c0f2f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.8271441} 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":"d5bd2b8f17358a9ec06dcfdbc902bec1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.826947426Z"}]},"request_id":"c14dc91a-6255-447d-91c5-7ef623b79c99","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.8339474} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5bd2b8f17358a9ec06dcfdbc902bec1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"d5bd2b8f17358a9ec06dcfdbc902bec1","responseTime":56,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5bd2b8f17358a9ec06dcfdbc902bec1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dac85808a1fe85a4f5021d4c3b7de083","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.06922,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92ace084-89af-4b29-934c-e3823e3c4010","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/92ace084-89af-4b29-934c-e3823e3c4010","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dac85808a1fe85a4f5021d4c3b7de083"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.714071049Z"}]},"request_id":"0b248115-b84d-41dd-b569-fd8eaaced2a8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.8652985} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dac85808a1fe85a4f5021d4c3b7de083"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43e5df57-d540-4429-9cb8-60397e05a40c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.8740587} 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":"dac85808a1fe85a4f5021d4c3b7de083"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.714071049Z"}]},"request_id":"68ff4507-6f75-4633-be7d-b2665cbe17e4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.9012554} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dac85808a1fe85a4f5021d4c3b7de083"},"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/92ace084-89af-4b29-934c-e3823e3c4010? 200 58ms","method":"PATCH","requestID":"dac85808a1fe85a4f5021d4c3b7de083","responseTime":58,"status":200,"url":"/devices/92ace084-89af-4b29-934c-e3823e3c4010?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/92ace084-89af-4b29-934c-e3823e3c4010? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dac85808a1fe85a4f5021d4c3b7de083"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6122173d9de644ed7471742c33f4d2c","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910966,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6122173d9de644ed7471742c33f4d2c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.766934459Z"}]},"request_id":"c2ff8f60-adf5-487a-9bea-dd9581b70258","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.9348145} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6122173d9de644ed7471742c33f4d2c"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d13746e-bd33-40f0-8f50-753bb5829cda","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.9422648} 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":"e6122173d9de644ed7471742c33f4d2c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.766934459Z"}]},"request_id":"8e1489e7-79f4-48d0-af1c-c2575e280b79","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.9539948} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6122173d9de644ed7471742c33f4d2c"},"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/dbf66494-9a72-424d-99f1-2a33de1b7abc? 200 39ms","method":"PATCH","requestID":"e6122173d9de644ed7471742c33f4d2c","responseTime":39,"status":200,"url":"/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dbf66494-9a72-424d-99f1-2a33de1b7abc? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6122173d9de644ed7471742c33f4d2c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92e77c92f389f91f7cfc3baf49837020","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36851,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:40Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e93e53f7-3790-4253-9d1e-f777974d07d5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e93e53f7-3790-4253-9d1e-f777974d07d5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840260,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MH0.fO7wG_OpMAgdy1wmZkTE81-GmijADbD_KXxPcs2dXL8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92e77c92f389f91f7cfc3baf49837020"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.826947426Z"}]},"request_id":"10c34c27-3cbb-4ad3-b92d-1961b3a2a92c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.9794562} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92e77c92f389f91f7cfc3baf49837020"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bb99fe3-cbe0-40b1-bc62-11e6aed80166","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840260.9874923} 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":"92e77c92f389f91f7cfc3baf49837020"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.826947426Z"}]},"request_id":"3347bbda-2555-4253-bdc7-58ec3a07d324","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.000761} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92e77c92f389f91f7cfc3baf49837020"},"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/e93e53f7-3790-4253-9d1e-f777974d07d5? 200 41ms","method":"PATCH","requestID":"92e77c92f389f91f7cfc3baf49837020","responseTime":41,"status":200,"url":"/devices/e93e53f7-3790-4253-9d1e-f777974d07d5?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e93e53f7-3790-4253-9d1e-f777974d07d5? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92e77c92f389f91f7cfc3baf49837020"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13bded24d90ccc8babe94ac8fd7ffe60","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22099,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92ace084-89af-4b29-934c-e3823e3c4010","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/92ace084-89af-4b29-934c-e3823e3c4010","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13bded24d90ccc8babe94ac8fd7ffe60"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92ace084-89af-4b29-934c-e3823e3c4010","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.714071049Z"}]},"request_id":"24e553d8-0c96-4acf-9281-e3484bd36437","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.0267534} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13bded24d90ccc8babe94ac8fd7ffe60"},"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:53134","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102975,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179536,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.138784,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61fcd400-4ac0-4875-be74-6af9be76aed7","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/61fcd400-4ac0-4875-be74-6af9be76aed7","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"13bded24d90ccc8babe94ac8fd7ffe60"},"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/a4599b69-06fe-441d-848a-1329cedc95e7","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/a4599b69-06fe-441d-848a-1329cedc95e7","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"13bded24d90ccc8babe94ac8fd7ffe60"},"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/936f19f3-b0f5-4232-a106-6e2c6241cd88","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/936f19f3-b0f5-4232-a106-6e2c6241cd88","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} authorization_1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13bded24d90ccc8babe94ac8fd7ffe60"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"client_addr":"127.0.0.1:57038","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57038","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.56112,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"13bded24d90ccc8babe94ac8fd7ffe60"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92ace084-89af-4b29-934c-e3823e3c4010? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13bded24d90ccc8babe94ac8fd7ffe60"} device_1 | {"level":"info","message":"GET /devices/92ace084-89af-4b29-934c-e3823e3c4010? 200 48ms","method":"GET","requestID":"13bded24d90ccc8babe94ac8fd7ffe60","responseTime":48,"status":200,"url":"/devices/92ace084-89af-4b29-934c-e3823e3c4010?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e6d0a78cba1e1d51609a447475a2d53","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.758069,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6d0a78cba1e1d51609a447475a2d53"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbf66494-9a72-424d-99f1-2a33de1b7abc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.766934459Z"}]},"request_id":"2d548380-1caf-45e8-a8ab-4f0bc60de6fc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.084553} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e6d0a78cba1e1d51609a447475a2d53"},"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:53134","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214029,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.064861,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914064,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57038","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45262632-2f52-4937-8658-4278800d903c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/45262632-2f52-4937-8658-4278800d903c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"4e6d0a78cba1e1d51609a447475a2d53"},"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/7648367e-8079-4777-a3f0-f2ab29834331","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/7648367e-8079-4777-a3f0-f2ab29834331","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"4e6d0a78cba1e1d51609a447475a2d53"},"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/4d432ff8-902b-4b28-acfa-636e99121c9d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/4d432ff8-902b-4b28-acfa-636e99121c9d","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"4e6d0a78cba1e1d51609a447475a2d53"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:57038","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.934036,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23359afa-8cce-4927-b7ef-95f8d8578b94","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/23359afa-8cce-4927-b7ef-95f8d8578b94","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"4e6d0a78cba1e1d51609a447475a2d53"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:57040","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57044","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57044","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23005,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57040","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.533646,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e93e53f7-3790-4253-9d1e-f777974d07d5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e93e53f7-3790-4253-9d1e-f777974d07d5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"4e6d0a78cba1e1d51609a447475a2d53"},"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/92ace084-89af-4b29-934c-e3823e3c4010","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/92ace084-89af-4b29-934c-e3823e3c4010","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"4e6d0a78cba1e1d51609a447475a2d53"},"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":"11/Apr/2024:12:57:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dbf66494-9a72-424d-99f1-2a33de1b7abc? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e6d0a78cba1e1d51609a447475a2d53"} device_1 | {"level":"info","message":"GET /devices/dbf66494-9a72-424d-99f1-2a33de1b7abc? 200 50ms","method":"GET","requestID":"4e6d0a78cba1e1d51609a447475a2d53","responseTime":50,"status":200,"url":"/devices/dbf66494-9a72-424d-99f1-2a33de1b7abc?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a488eca2e778d2baf45918127dba0bce","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.429752,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e93e53f7-3790-4253-9d1e-f777974d07d5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e93e53f7-3790-4253-9d1e-f777974d07d5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a488eca2e778d2baf45918127dba0bce"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe93e53f7-3790-4253-9d1e-f777974d07d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:40.826947426Z"}]},"request_id":"8caa2b69-acdf-413e-9a10-a8ef2c148fc2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.1395652} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a488eca2e778d2baf45918127dba0bce"},"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:53134","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608444,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.547278,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57030","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.507703,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9b06507-0797-40ec-94f9-33fbca1998c6","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/b9b06507-0797-40ec-94f9-33fbca1998c6","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a488eca2e778d2baf45918127dba0bce"},"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/904d60b0-11f6-4ed3-9fc2-3c2bf2336e79","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/904d60b0-11f6-4ed3-9fc2-3c2bf2336e79","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a488eca2e778d2baf45918127dba0bce"},"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/f29a4e44-4ce4-459e-b1b3-c2af513e39bd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f29a4e44-4ce4-459e-b1b3-c2af513e39bd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a488eca2e778d2baf45918127dba0bce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:57038","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:57038","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.57838,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92ace084-89af-4b29-934c-e3823e3c4010","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/92ace084-89af-4b29-934c-e3823e3c4010","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"a488eca2e778d2baf45918127dba0bce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e93e53f7-3790-4253-9d1e-f777974d07d5? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a488eca2e778d2baf45918127dba0bce"} device_1 | {"level":"info","message":"GET /devices/e93e53f7-3790-4253-9d1e-f777974d07d5? 200 32ms","method":"GET","requestID":"a488eca2e778d2baf45918127dba0bce","responseTime":32,"status":200,"url":"/devices/e93e53f7-3790-4253-9d1e-f777974d07d5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3c249c98bc9144b9ec46d312b57d67e8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.026415,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"3c249c98bc9144b9ec46d312b57d67e8"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"08dce828-317a-4ed2-9751-15452417aad8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2072594} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c249c98bc9144b9ec46d312b57d67e8"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0320836e-8a4e-47b3-bb7d-c2d2d8026837","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2129025} 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":"3c249c98bc9144b9ec46d312b57d67e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"2e2d8e8c-7b39-434f-af2a-1ef32b38e8fc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.224203} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"961c0696-b36f-47a7-8d84-d4d62c395a9e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2244675} 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":"3c249c98bc9144b9ec46d312b57d67e8"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.224171871Z"}]},"request_id":"ac196952-95b2-46f5-882e-8fe56e8a8d18","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2313545} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c249c98bc9144b9ec46d312b57d67e8"},"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 66ms","method":"POST","requestID":"3c249c98bc9144b9ec46d312b57d67e8","responseTime":66,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c249c98bc9144b9ec46d312b57d67e8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8113c641135886898f40efbdbfd80195","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.154286,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"8113c641135886898f40efbdbfd80195"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ef7e045-6be9-48a3-bf25-4a2a51d4b153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d0921ffb-f670-41b0-bcef-f4fb9e541e3a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2686725} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8113c641135886898f40efbdbfd80195"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de7f36f7-d5dd-4f5a-9f8f-766cd89e332f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2772057} 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":"8113c641135886898f40efbdbfd80195"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ef7e045-6be9-48a3-bf25-4a2a51d4b153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"97544589-a120-4e3d-8752-12cf4a9f2b2f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2898812} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4a8a690-2c14-4804-8e87-f09b152f335d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2902534} 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":"8113c641135886898f40efbdbfd80195"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ef7e045-6be9-48a3-bf25-4a2a51d4b153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ef7e045-6be9-48a3-bf25-4a2a51d4b153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.289795171Z"}]},"request_id":"c0a74744-2098-4e20-a108-02de875ebc0c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.2976344} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8113c641135886898f40efbdbfd80195"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"8113c641135886898f40efbdbfd80195","responseTime":57,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8113c641135886898f40efbdbfd80195"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b5786dfe48314006d90c250e97fa46b1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.169325,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840261,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2MX0.hPInC24Ejd7KLUA2J3N-if62ltUDWWwrjVJ9uNqe3ws"} 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":"b5786dfe48314006d90c250e97fa46b1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e270a837-9e98-4bc2-91e6-e82be5b72933","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.334835} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5786dfe48314006d90c250e97fa46b1"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88f36ac2-759d-4c73-b55a-2ddc3d52af48","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.3424842} 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":"b5786dfe48314006d90c250e97fa46b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"1204acd1-96f7-49ec-a288-02b85be5d489","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.3547146} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37acf4c9-9bba-4965-9a9f-6b0e4a8be14f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.3549585} 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":"b5786dfe48314006d90c250e97fa46b1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.354690078Z"}]},"request_id":"76614abf-6fec-4616-b292-06c57ea75714","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840261.3623023} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5786dfe48314006d90c250e97fa46b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"b5786dfe48314006d90c250e97fa46b1","responseTime":56,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5786dfe48314006d90c250e97fa46b1"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36a18e0a753ca6b0ffe826b2b5b694c4","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/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":"36a18e0a753ca6b0ffe826b2b5b694c4"} device_1 | {"level":"info","message":"OPTIONS /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/websocket 200 0ms","method":"OPTIONS","requestID":"36a18e0a753ca6b0ffe826b2b5b694c4","responseTime":0,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0602ceb89a721557c6098f9b1d9700e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867379,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} 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":"c0602ceb89a721557c6098f9b1d9700e"},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"65678c35a62fbdc8d19af874e004e31c","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/68526caa-09f1-43a3-82e4-ff6165532b98/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":"65678c35a62fbdc8d19af874e004e31c"} device_1 | {"level":"info","message":"OPTIONS /devices/68526caa-09f1-43a3-82e4-ff6165532b98/websocket 200 1ms","method":"OPTIONS","requestID":"65678c35a62fbdc8d19af874e004e31c","responseTime":1,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6ade1954ba4c3d0dd1fdee002a152fc5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c0602ceb89a721557c6098f9b1d9700e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/websocket 200 32ms","method":"POST","requestID":"c0602ceb89a721557c6098f9b1d9700e","responseTime":32,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/websocket"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82462,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} 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":"6ade1954ba4c3d0dd1fdee002a152fc5"},"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":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/68526caa-09f1-43a3-82e4-ff6165532b98/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":"6ade1954ba4c3d0dd1fdee002a152fc5"} device_1 | {"level":"info","message":"POST /devices/68526caa-09f1-43a3-82e4-ff6165532b98/websocket 200 26ms","method":"POST","requestID":"6ade1954ba4c3d0dd1fdee002a152fc5","responseTime":26,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"92df1417a95cfa601b8d63eb3d9865f2","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662455,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} 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":"92df1417a95cfa601b8d63eb3d9865f2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.354690078Z"}]},"request_id":"83f4afa4-dbd0-45b3-bfcc-26abb5accf1e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.4247396} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92df1417a95cfa601b8d63eb3d9865f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92df1417a95cfa601b8d63eb3d9865f2"} device_1 | {"level":"info","message":"GET /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca? 200 11ms","method":"GET","requestID":"92df1417a95cfa601b8d63eb3d9865f2","responseTime":11,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ebc2a72639e54aa9236220843de41dd","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:53134","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.686248,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} 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":"7ebc2a72639e54aa9236220843de41dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"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:53134","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.767191,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ef7e045-6be9-48a3-bf25-4a2a51d4b153","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5ef7e045-6be9-48a3-bf25-4a2a51d4b153","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"161e5120-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618771,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"161e7830-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ef7e045-6be9-48a3-bf25-4a2a51d4b153","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ef7e045-6be9-48a3-bf25-4a2a51d4b153","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.289795171Z"}]},"request_id":"7dc373a6-2227-4682-9734-9f607ab9b582","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.4839728} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"161e5120-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.354690078Z"}]},"request_id":"10c80521-deb6-4ee0-9f72-d731fa1d58ab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.4858718} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"161e7830-f803-11ee-94dd-ef446cbc77bc"},"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/b395471f-20cb-44b9-9999-cd7b816cf5ca? 200 17ms","method":"GET","requestID":"161e7830-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.59181,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"161e5120-f803-11ee-94dd-ef446cbc77bc"},"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/5ef7e045-6be9-48a3-bf25-4a2a51d4b153? 200 23ms","method":"GET","requestID":"161e5120-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/5ef7e045-6be9-48a3-bf25-4a2a51d4b153?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"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:53134","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74396,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1629c2d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983302,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} 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":"162a10f0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.103018,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b770bd79-2faf-4809-9ae7-91be411b7b31","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.5608664} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","rebac_allow":false,"scope_allow":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":"162a5f10-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.224171871Z"}]},"request_id":"d5bdb1c8-4f06-4d56-9d96-b20beb9ca273","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.5628138} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.354690078Z"}]},"request_id":"bb9c77a6-e7f1-4426-9377-9bd5b0d175d2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.5646653} 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":"1629c2d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"162a10f0-f803-11ee-94dd-ef446cbc77bc"},"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/68526caa-09f1-43a3-82e4-ff6165532b98/signaling 200 21ms","method":"POST","requestID":"162a5f10-f803-11ee-94dd-ef446cbc77bc","responseTime":21,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887222dc-5828-4946-be5d-bdbe87622fd1#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887222dc-5828-4946-be5d-bdbe87622fd1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"4f08191f-56c2-4b55-b9ff-70ef83130d91","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.5771651} device_1 | {"level":"info","message":"GET /devices/68526caa-09f1-43a3-82e4-ff6165532b98? 200 28ms","method":"GET","requestID":"1629c2d0-f803-11ee-94dd-ef446cbc77bc","responseTime":28,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64e1005c-34ae-4e37-85ca-1450d1cd638b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.5773728} 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":"7ebc2a72639e54aa9236220843de41dd"},"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/b395471f-20cb-44b9-9999-cd7b816cf5ca? 200 29ms","method":"GET","requestID":"162a10f0-f803-11ee-94dd-ef446cbc77bc","responseTime":29,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b51fba34-1fe4-499c-9da4-79236dd111e4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.5822878} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.070818,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"162e2fa0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling 200 11ms","method":"POST","requestID":"162e2fa0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 153ms","method":"POST","requestID":"7ebc2a72639e54aa9236220843de41dd","responseTime":153,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ebc2a72639e54aa9236220843de41dd"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"704c1d04-7007-4e8f-901e-143ba3d6be21","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.5935383} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.652541,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo","level":"info","message":"auth send jwt"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9febc2286b9ca7a7bfe166eef7e78e6","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"162f1a00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/68526caa-09f1-43a3-82e4-ff6165532b98/signaling 200 18ms","method":"POST","requestID":"162f1a00-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22022,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9febc2286b9ca7a7bfe166eef7e78e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8eff104c-0c3c-4cac-b9ed-3b4b3a4eefbd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.6141565} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.783863,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.224171871Z"}]},"request_id":"6253a64a-cdcf-41d5-a101-ba894a7ad652","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.6147861} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16324e50-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9febc2286b9ca7a7bfe166eef7e78e6"},"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/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling 200 16ms","method":"POST","requestID":"16324e50-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/68526caa-09f1-43a3-82e4-ff6165532b98? 200 24ms","method":"GET","requestID":"d9febc2286b9ca7a7bfe166eef7e78e6","responseTime":24,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1d2c89fd-8ad6-4eb5-bcdd-8b46a72351ba"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"5a231f6a-bf78-43cd-8ddf-8a645d2a5b22"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"234fca70-7fe6-4065-8842-ce4886e8699e"}]},"level":"info","message":"Built pairwise service configurations"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/68526caa-09f1-43a3-82e4-ff6165532b98? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9febc2286b9ca7a7bfe166eef7e78e6"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"637641efe672e411b3ca9f0c3be1c3b2","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.897382,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} 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":"16353480-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627317,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"637641efe672e411b3ca9f0c3be1c3b2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:41.354690078Z"}]},"request_id":"7dae61b0-fb93-4938-aad3-510ce29f0e9a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.6358387} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"637641efe672e411b3ca9f0c3be1c3b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"637641efe672e411b3ca9f0c3be1c3b2"} device_1 | {"level":"info","message":"GET /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca? 200 12ms","method":"GET","requestID":"637641efe672e411b3ca9f0c3be1c3b2","responseTime":12,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"5851d052-afed-47d2-98d2-51872855cb70","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.6406806} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d3e9dba-b9fe-4ac7-a8ae-58d2ee61eb41","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.64089} 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":"16353480-f803-11ee-94dd-ef446cbc77bc"},"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/48ee7ba6-a064-4e8b-958b-b2c4e4a16093'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093'"} 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":"16353480-f803-11ee-94dd-ef446cbc77bc","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/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4699593f-c326-481b-a370-aac441ad98cf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.6986985} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.222647,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","rebac_allow":false,"scope_allow":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":"163fe2e0-f803-11ee-94dd-ef446cbc77bc"},"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/68526caa-09f1-43a3-82e4-ff6165532b98/signaling 200 9ms","method":"POST","requestID":"163fe2e0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fb104a7-4558-46e0-8dd7-b97df7b4297a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.7095532} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.279289,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16419090-f803-11ee-94dd-ef446cbc77bc"},"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/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling 200 9ms","method":"POST","requestID":"16419090-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"48ee7ba6-a064-4e8b-958b-b2c4e4a16093","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c45a50dd6b2e54e0dbda372d5194e11c","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/b395471f-20cb-44b9-9999-cd7b816cf5ca"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"c45a50dd6b2e54e0dbda372d5194e11c","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch","requestID":"c45a50dd6b2e54e0dbda372d5194e11c"} device_1 | {"data":{"peerconnection":"48ee7ba6-a064-4e8b-958b-b2c4e4a16093","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"48ee7ba6-a064-4e8b-958b-b2c4e4a16093","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/48ee7ba6-a064-4e8b-958b-b2c4e4a16093' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"48ee7ba6-a064-4e8b-958b-b2c4e4a16093","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8312f70164395b6ac15fe9595d161f5c","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/b395471f-20cb-44b9-9999-cd7b816cf5ca"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48ee7ba6-a064-4e8b-958b-b2c4e4a16093","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a58fac99-95bf-4eec-9eab-b1a28414482a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.9444818} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":5.959292,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093","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 11ms","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":"1664a8f0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093 200 17ms","method":"GET","requestID":"1664a8f0-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"8312f70164395b6ac15fe9595d161f5c","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"8312f70164395b6ac15fe9595d161f5c"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a194ebfc-e307-4133-88a8-f3a5d80248cc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840263.9822288} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.246584,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","rebac_allow":false,"scope_allow":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":"166ac370-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b37fbcbd0070d6959b411542df5fabe9","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/887222dc-5828-4946-be5d-bdbe87622fd1"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling 200 17ms","method":"POST","requestID":"166ac370-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.358466,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:43Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840263,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2M30.rb-xULTXcgjtmphn5gx3kKLFaD02CRcVfbBRyHRZDyo"} 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":"b37fbcbd0070d6959b411542df5fabe9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd13616b-f360-47e2-9941-9aad0bf73694","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.0057037} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.002516,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","rebac_allow":false,"scope_allow":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":"166e1ed0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/887222dc-5828-4946-be5d-bdbe87622fd1"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/887222dc-5828-4946-be5d-bdbe87622fd1 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b37fbcbd0070d6959b411542df5fabe9"} experiment_1 | {"level":"info","message":"GET /experiments/887222dc-5828-4946-be5d-bdbe87622fd1 200 21ms","method":"GET","requestID":"b37fbcbd0070d6959b411542df5fabe9","responseTime":21,"status":200,"url":"/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/68526caa-09f1-43a3-82e4-ff6165532b98/signaling 200 18ms","method":"POST","requestID":"166e1ed0-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6f885a55e4e067451d8794c04ab6729e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/887222dc-5828-4946-be5d-bdbe87622fd1"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.271332,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840264,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0"} 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":"6f885a55e4e067451d8794c04ab6729e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.301039,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840264,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0"} 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":"16748770-f803-11ee-94dd-ef446cbc77bc"},"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/48ee7ba6-a064-4e8b-958b-b2c4e4a16093' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"48ee7ba6-a064-4e8b-958b-b2c4e4a16093","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"174954847acf28c54b7a606c41b0b323","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/b395471f-20cb-44b9-9999-cd7b816cf5ca"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48ee7ba6-a064-4e8b-958b-b2c4e4a16093': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48ee7ba6-a064-4e8b-958b-b2c4e4a16093","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"15301a50-a087-40c3-af92-cb274484c47c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.069346} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e74f0806-56d1-4376-b592-1a406fbe4f75","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.0698376} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2a3625839d13127cf30b69d28e26af30","responseTime":2,"status":200,"url":"/auth"} 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":"16748770-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} 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/b395471f-20cb-44b9-9999-cd7b816cf5ca"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"48ee7ba6-a064-4e8b-958b-b2c4e4a16093","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/48ee7ba6-a064-4e8b-958b-b2c4e4a16093 204 68ms","method":"DELETE","requestID":"16748770-f803-11ee-94dd-ef446cbc77bc","responseTime":68,"status":204,"url":"/peerconnections/48ee7ba6-a064-4e8b-958b-b2c4e4a16093"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb395471f-20cb-44b9-9999-cd7b816cf5ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee59832e-a2c2-4c84-b8e6-5660ce54fb08","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.1429534} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.201325,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca","object_type":"device","rebac_allow":false,"scope_allow":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":"16832d70-f803-11ee-94dd-ef446cbc77bc"},"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/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling 200 17ms","method":"POST","requestID":"16832d70-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/b395471f-20cb-44b9-9999-cd7b816cf5ca/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887222dc-5828-4946-be5d-bdbe87622fd1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F887222dc-5828-4946-be5d-bdbe87622fd1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"46ad40e5-7332-47f5-9e47-c226269a96d4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.1543715} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be5f4c4e-7da7-4429-bb8e-9f6d6d147df7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.154755} 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":"6f885a55e4e067451d8794c04ab6729e"},"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:53134","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68526caa-09f1-43a3-82e4-ff6165532b98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45a8b104-8697-48d9-bff6-8182d3893be3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.161422} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.321668,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98","object_type":"device","rebac_allow":false,"scope_allow":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":"16863ab0-f803-11ee-94dd-ef446cbc77bc"},"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/68526caa-09f1-43a3-82e4-ff6165532b98/signaling 200 14ms","method":"POST","requestID":"16863ab0-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/68526caa-09f1-43a3-82e4-ff6165532b98/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/887222dc-5828-4946-be5d-bdbe87622fd1"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/887222dc-5828-4946-be5d-bdbe87622fd1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f885a55e4e067451d8794c04ab6729e"} experiment_1 | {"level":"info","message":"DELETE /experiments/887222dc-5828-4946-be5d-bdbe87622fd1 204 198ms","method":"DELETE","requestID":"6f885a55e4e067451d8794c04ab6729e","responseTime":198,"status":204,"url":"/experiments/887222dc-5828-4946-be5d-bdbe87622fd1"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"174954847acf28c54b7a606c41b0b323","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"174954847acf28c54b7a606c41b0b323"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"2a3625839d13127cf30b69d28e26af30","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"2a3625839d13127cf30b69d28e26af30"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"0.849","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4ba6027bd6b2ba3996d561a818e73636"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1927","request_time":"0.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":"8a5507b4f3ebf92b8e84ca3ba3b5d409"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bc29796a11713c6aa66a5de01783aa44","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.791252,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/68526caa-09f1-43a3-82e4-ff6165532b98' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840264,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0"} 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":"bc29796a11713c6aa66a5de01783aa44"},"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/b395471f-20cb-44b9-9999-cd7b816cf5ca' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"38513a2a-c0db-4d6c-aa11-fcfc227403d2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.257659} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc29796a11713c6aa66a5de01783aa44"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fa0852d-6a2c-465b-bb89-407eded1c3c5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.262492} 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":"bc29796a11713c6aa66a5de01783aa44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"9a617dd4-76a7-470d-a3f3-c051979dfa07","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.2732139} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74fb0e8c-67ed-4625-b6ff-6d58174d5ef7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.2734015} 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":"bc29796a11713c6aa66a5de01783aa44"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.273188257Z"}]},"request_id":"e64a0ece-e9a8-4645-ad9f-9781bb38c0a3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.2776916} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc29796a11713c6aa66a5de01783aa44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"bc29796a11713c6aa66a5de01783aa44","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc29796a11713c6aa66a5de01783aa44"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4488a4d81b4ee1a38db4b1fbe2a10ede","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.734697,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840264,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0"} 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":"4488a4d81b4ee1a38db4b1fbe2a10ede"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5cbf410-69db-4dd9-923a-565898a35348","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.303341} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4488a4d81b4ee1a38db4b1fbe2a10ede"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95cd20e6-09fa-45ac-a989-3914646170b6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.3080356} 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":"4488a4d81b4ee1a38db4b1fbe2a10ede"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"ec84a0d4-f4b7-4397-b97c-9eb3161dd530","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.3184314} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5e6b355-64e4-4c36-ab63-60951337fde6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.3188183} 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":"4488a4d81b4ee1a38db4b1fbe2a10ede"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.318416840Z"}]},"request_id":"b2d8b359-3bd9-4ebf-ba55-9629d6322c42","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.323213} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4488a4d81b4ee1a38db4b1fbe2a10ede"},"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":"4488a4d81b4ee1a38db4b1fbe2a10ede","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4488a4d81b4ee1a38db4b1fbe2a10ede"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8bb70648f047b6b48aca686a3d6bdec5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66665,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840264,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0"} 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":"8bb70648f047b6b48aca686a3d6bdec5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.273188257Z"}]},"request_id":"d8f8481a-adb6-4209-844e-dbfa1d903ea3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.8112361} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8bb70648f047b6b48aca686a3d6bdec5"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"483e4709-729d-42c8-b1df-b94537cbd5d7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.8177152} 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":"8bb70648f047b6b48aca686a3d6bdec5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.273188257Z"}]},"request_id":"7e472709-58d2-4e78-960e-391002b418a0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840264.8417425} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8bb70648f047b6b48aca686a3d6bdec5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9c1836ec-3455-4498-a1be-68e5590aed33 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"8bb70648f047b6b48aca686a3d6bdec5"} device_1 | {"level":"info","message":"PATCH /devices/9c1836ec-3455-4498-a1be-68e5590aed33 200 47ms","method":"PATCH","requestID":"8bb70648f047b6b48aca686a3d6bdec5","responseTime":47,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"061ba0fe10968afa498c6fb185491dea","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.924161,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840264,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2NH0.EdgO1g6KLFxnlmaeQxclbgig0nJC0zZMjcfHGAcOgJ0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"061ba0fe10968afa498c6fb185491dea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9c1836ec-3455-4498-a1be-68e5590aed33/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"061ba0fe10968afa498c6fb185491dea"} device_1 | {"level":"info","message":"POST /devices/9c1836ec-3455-4498-a1be-68e5590aed33/websocket 200 23ms","method":"POST","requestID":"061ba0fe10968afa498c6fb185491dea","responseTime":23,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"37997ff719fe6714543526145d0dd282","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/24003461-ed41-4840-b786-6d951dc22837/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":"37997ff719fe6714543526145d0dd282"} device_1 | {"level":"info","message":"OPTIONS /devices/24003461-ed41-4840-b786-6d951dc22837/websocket 200 2ms","method":"OPTIONS","requestID":"37997ff719fe6714543526145d0dd282","responseTime":2,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ae51aeecaf36097250815b9f032aa05b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.290747,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae51aeecaf36097250815b9f032aa05b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/24003461-ed41-4840-b786-6d951dc22837/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ae51aeecaf36097250815b9f032aa05b"} device_1 | {"level":"info","message":"POST /devices/24003461-ed41-4840-b786-6d951dc22837/websocket 200 41ms","method":"POST","requestID":"ae51aeecaf36097250815b9f032aa05b","responseTime":41,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e715f864321ea3ed47efe9968bd65e5b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.415825,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e715f864321ea3ed47efe9968bd65e5b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.273188257Z"}]},"request_id":"bc942f17-3756-44d3-92b7-c4a0c7e8a73a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.45634} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e715f864321ea3ed47efe9968bd65e5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9c1836ec-3455-4498-a1be-68e5590aed33? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e715f864321ea3ed47efe9968bd65e5b"} device_1 | {"level":"info","message":"GET /devices/9c1836ec-3455-4498-a1be-68e5590aed33? 200 20ms","method":"GET","requestID":"e715f864321ea3ed47efe9968bd65e5b","responseTime":20,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be2e64cdeee24cbf07ed12f2bbfc6d6e","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.412852,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} 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":"be2e64cdeee24cbf07ed12f2bbfc6d6e"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.318416840Z"}]},"request_id":"dd9d584b-e665-4d77-bd39-343e1826acb2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.4881306} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be2e64cdeee24cbf07ed12f2bbfc6d6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/24003461-ed41-4840-b786-6d951dc22837? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be2e64cdeee24cbf07ed12f2bbfc6d6e"} device_1 | {"level":"info","message":"GET /devices/24003461-ed41-4840-b786-6d951dc22837? 200 22ms","method":"GET","requestID":"be2e64cdeee24cbf07ed12f2bbfc6d6e","responseTime":22,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d81b3580e7347cd11aff24d2e39c035c","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:53134","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.274389,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} 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":"d81b3580e7347cd11aff24d2e39c035c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"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:53134","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949613,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} 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":"17f50cf0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308635,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} 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":"17f55b10-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.273188257Z"}]},"request_id":"73b646ca-bf03-4591-b75f-b17c36af63d3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.5746381} 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":"17f50cf0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.318416840Z"}]},"request_id":"540f6a67-a76f-479a-9341-694b987bf47e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.5766017} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17f55b10-f803-11ee-94dd-ef446cbc77bc"},"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/9c1836ec-3455-4498-a1be-68e5590aed33? 200 23ms","method":"GET","requestID":"17f50cf0-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/24003461-ed41-4840-b786-6d951dc22837? 200 22ms","method":"GET","requestID":"17f55b10-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"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/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776018,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} 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":"18016900-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784129,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} 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":"1801b720-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.505482,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0489e8f-9470-430a-a512-9a415056b1eb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.6562202} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","rebac_allow":false,"scope_allow":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":"18022c50-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.273188257Z"}]},"request_id":"9701eaae-2aba-45bf-b60e-b66afc8e8d45","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.6605551} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18016900-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"POST /devices/9c1836ec-3455-4498-a1be-68e5590aed33/signaling 200 23ms","method":"POST","requestID":"18022c50-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33/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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.318416840Z"}]},"request_id":"bb951ae4-0385-4a05-9e59-21dd1767537d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.667354} 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":"1801b720-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc54f509c-b078-4b42-a60d-1431bd552f50#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc54f509c-b078-4b42-a60d-1431bd552f50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"f9efb172-e5bf-44cc-b323-5a416848ae6b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.6747625} 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2430b1e2-18c0-4983-bd82-340963956e27","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.675102} 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":"d81b3580e7347cd11aff24d2e39c035c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9c1836ec-3455-4498-a1be-68e5590aed33? 200 39ms","method":"GET","requestID":"18016900-f803-11ee-94dd-ef446cbc77bc","responseTime":39,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/24003461-ed41-4840-b786-6d951dc22837? 200 39ms","method":"GET","requestID":"1801b720-f803-11ee-94dd-ef446cbc77bc","responseTime":39,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf5c541f-0486-48b0-9e6f-3579d61bfa7b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.6833622} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.439225,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","rebac_allow":false,"scope_allow":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":"18069920-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 185ms","method":"POST","requestID":"d81b3580e7347cd11aff24d2e39c035c","responseTime":185,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/24003461-ed41-4840-b786-6d951dc22837/signaling 200 20ms","method":"POST","requestID":"18069920-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} gateway_1 | {"time_local":"11/Apr/2024:12:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d81b3580e7347cd11aff24d2e39c035c"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11a85c7e-88e2-4c92-bc46-59477fa7190b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.6966288} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.669131,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"77bb312449572ae0de95149981081b1f","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18090a20-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9c1836ec-3455-4498-a1be-68e5590aed33/signaling 200 15ms","method":"POST","requestID":"18090a20-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.05626,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77bb312449572ae0de95149981081b1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dc87a76-6ee9-42b0-8516-ebd981646dba","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.714309} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.273188257Z"}]},"request_id":"1a598ba0-062b-4ac2-93c0-8d8fcea5e873","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.714983} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77bb312449572ae0de95149981081b1f"},"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:53134","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.591019,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","rebac_allow":false,"scope_allow":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":"180bc940-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9c1836ec-3455-4498-a1be-68e5590aed33? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77bb312449572ae0de95149981081b1f"} device_1 | {"level":"info","message":"GET /devices/9c1836ec-3455-4498-a1be-68e5590aed33? 200 19ms","method":"GET","requestID":"77bb312449572ae0de95149981081b1f","responseTime":19,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/24003461-ed41-4840-b786-6d951dc22837/signaling 200 15ms","method":"POST","requestID":"180bc940-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1046b471-bf81-484b-8d07-eb381754961b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"28bbb995-3248-4a24-a832-0a344b739782"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7bbc18fd-16e4-4678-b9be-c51c99664957"}]},"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/9c1836ec-3455-4498-a1be-68e5590aed33"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a9f40c25ce70ac5472e6f46c3a2279fe","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.762886,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} 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":"180e8860-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815303,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840266,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2Nn0.ssHF7vVFYnli7i6cesMRvsKYTMWZW6I7mRCiheUy5bg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9f40c25ce70ac5472e6f46c3a2279fe"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:44.318416840Z"}]},"request_id":"84d4ec18-5218-4346-bc9b-d5c5ba2db21b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.7401166} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9f40c25ce70ac5472e6f46c3a2279fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/24003461-ed41-4840-b786-6d951dc22837? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a9f40c25ce70ac5472e6f46c3a2279fe"} device_1 | {"level":"info","message":"GET /devices/24003461-ed41-4840-b786-6d951dc22837? 200 18ms","method":"GET","requestID":"a9f40c25ce70ac5472e6f46c3a2279fe","responseTime":18,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"8c02f259-422f-451a-afef-7ba4211e7ad4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.7468607} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"802e9b6b-568f-4414-ae7f-7b85d72a0f59","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.747152} 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":"180e8860-f803-11ee-94dd-ef446cbc77bc"},"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/ebc490b0-7e09-4cfb-bd93-e49d1b301982'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"180e8860-f803-11ee-94dd-ef446cbc77bc","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c096da0-6f7a-471c-911c-917a9d023601","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.8120902} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.070713,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"181abd60-f803-11ee-94dd-ef446cbc77bc"},"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/9c1836ec-3455-4498-a1be-68e5590aed33/signaling 200 13ms","method":"POST","requestID":"181abd60-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b23ddbb-af38-4630-aa03-0b74452543a5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840266.8252835} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420932,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:46Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"181ce040-f803-11ee-94dd-ef446cbc77bc"},"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/24003461-ed41-4840-b786-6d951dc22837/signaling 200 10ms","method":"POST","requestID":"181ce040-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837/signaling"} device_1 | {"data":{"peerconnection":"ebc490b0-7e09-4cfb-bd93-e49d1b301982","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/ebc490b0-7e09-4cfb-bd93-e49d1b301982' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ebc490b0-7e09-4cfb-bd93-e49d1b301982","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"db768ab8f86bb6822c1228673273335d","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/9c1836ec-3455-4498-a1be-68e5590aed33"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"db768ab8f86bb6822c1228673273335d","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:47 +0000","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":"db768ab8f86bb6822c1228673273335d"} device_1 | {"data":{"peerconnection":"ebc490b0-7e09-4cfb-bd93-e49d1b301982","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"ebc490b0-7e09-4cfb-bd93-e49d1b301982","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/ebc490b0-7e09-4cfb-bd93-e49d1b301982' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ebc490b0-7e09-4cfb-bd93-e49d1b301982","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ed6d54ce39917bcbc0adceb30a25272b","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/9c1836ec-3455-4498-a1be-68e5590aed33"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Febc490b0-7e09-4cfb-bd93-e49d1b301982","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4ed9112-413b-40c7-9852-dc4b5cd3c6b0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.0774102} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.029859,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982","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":"18db9c60-f803-11ee-94dd-ef446cbc77bc"},"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/ebc490b0-7e09-4cfb-bd93-e49d1b301982 200 15ms","method":"GET","requestID":"18db9c60-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"ed6d54ce39917bcbc0adceb30a25272b","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed6d54ce39917bcbc0adceb30a25272b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa82f385-d5ee-4d27-9b2a-c764da6444ef","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.1234062} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.917475,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","rebac_allow":false,"scope_allow":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":"18e27a30-f803-11ee-94dd-ef446cbc77bc"},"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/9c1836ec-3455-4498-a1be-68e5590aed33/signaling 200 17ms","method":"POST","requestID":"18e27a30-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8f10a60-a920-4389-920a-12661f243c5f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.1418912} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.742745,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","rebac_allow":false,"scope_allow":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":"18e58770-f803-11ee-94dd-ef446cbc77bc"},"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/24003461-ed41-4840-b786-6d951dc22837/signaling 200 15ms","method":"POST","requestID":"18e58770-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18b585d23559eb2865653cd2fa4a90da","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c54f509c-b078-4b42-a60d-1431bd552f50"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.343923,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840268,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM"} 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":"18b585d23559eb2865653cd2fa4a90da"},"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/c54f509c-b078-4b42-a60d-1431bd552f50"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c54f509c-b078-4b42-a60d-1431bd552f50 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18b585d23559eb2865653cd2fa4a90da"} experiment_1 | {"level":"info","message":"GET /experiments/c54f509c-b078-4b42-a60d-1431bd552f50 200 19ms","method":"GET","requestID":"18b585d23559eb2865653cd2fa4a90da","responseTime":19,"status":200,"url":"/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"13f4592488d8c7d4c8e47eb8f20be4e1","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c54f509c-b078-4b42-a60d-1431bd552f50"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.234557,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840268,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM"} 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":"13f4592488d8c7d4c8e47eb8f20be4e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.620433,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840268,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18ff9f20-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ebc490b0-7e09-4cfb-bd93-e49d1b301982","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d061dd100189ac9508d833a7f7762406","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Febc490b0-7e09-4cfb-bd93-e49d1b301982': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Febc490b0-7e09-4cfb-bd93-e49d1b301982","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"290aa7e9-9e2d-4a58-8297-cb4bcad4c6bc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.3366625} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"902daed87eabf93f7ddd2a4b1c971413","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/9c1836ec-3455-4498-a1be-68e5590aed33"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982"}}},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac047a87-a8db-44ef-8877-3005b74c975e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.337346} 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/9c1836ec-3455-4498-a1be-68e5590aed33"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18ff9f20-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"ebc490b0-7e09-4cfb-bd93-e49d1b301982","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/ebc490b0-7e09-4cfb-bd93-e49d1b301982 204 67ms","method":"DELETE","requestID":"18ff9f20-f803-11ee-94dd-ef446cbc77bc","responseTime":67,"status":204,"url":"/peerconnections/ebc490b0-7e09-4cfb-bd93-e49d1b301982"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c1836ec-3455-4498-a1be-68e5590aed33","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ca9f7a9-0f3f-4543-9e31-2974ef1d6947","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.4080114} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.516422,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33","object_type":"device","rebac_allow":false,"scope_allow":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":"190df700-f803-11ee-94dd-ef446cbc77bc"},"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/9c1836ec-3455-4498-a1be-68e5590aed33/signaling 200 16ms","method":"POST","requestID":"190df700-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/9c1836ec-3455-4498-a1be-68e5590aed33/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc54f509c-b078-4b42-a60d-1431bd552f50': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc54f509c-b078-4b42-a60d-1431bd552f50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"92efdb64-c18a-41c7-b012-d7bc07335d13","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.4211924} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4e9cc19-e3b1-4df2-a5fa-67d079a906b4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.422035} authorization_1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13f4592488d8c7d4c8e47eb8f20be4e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24003461-ed41-4840-b786-6d951dc22837","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3dac4da8-8a43-410b-a51c-577dd2921566","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.4269798} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.055307,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1910dd30-f803-11ee-94dd-ef446cbc77bc"},"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/24003461-ed41-4840-b786-6d951dc22837/signaling 200 14ms","method":"POST","requestID":"1910dd30-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/24003461-ed41-4840-b786-6d951dc22837/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c54f509c-b078-4b42-a60d-1431bd552f50"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c54f509c-b078-4b42-a60d-1431bd552f50 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13f4592488d8c7d4c8e47eb8f20be4e1"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2194","request_time":"3.641","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d2db23f4bc6ea66245b917c53a3ef3b5"} experiment_1 | {"level":"info","message":"DELETE /experiments/c54f509c-b078-4b42-a60d-1431bd552f50 204 230ms","method":"DELETE","requestID":"13f4592488d8c7d4c8e47eb8f20be4e1","responseTime":230,"status":204,"url":"/experiments/c54f509c-b078-4b42-a60d-1431bd552f50"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"d061dd100189ac9508d833a7f7762406","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"d061dd100189ac9508d833a7f7762406"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"902daed87eabf93f7ddd2a4b1c971413","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"902daed87eabf93f7ddd2a4b1c971413"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c4df94f95529a1b62cf0059359b537fc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1955","request_time":"2.111","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"116e59bc83e7386351114fdfae5b2896"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9c1836ec-3455-4498-a1be-68e5590aed33' closed"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.014009,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840268,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM"} 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":"c4df94f95529a1b62cf0059359b537fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/24003461-ed41-4840-b786-6d951dc22837' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2df2bb34-fbee-42f5-9cf9-8f4a489472af","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.5536144} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4df94f95529a1b62cf0059359b537fc"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdc5209f-fc51-4a93-bcee-6ee702bbfdd6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.559795} 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":"c4df94f95529a1b62cf0059359b537fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"aa87b82b-2d09-4ca6-af59-5511269b7828","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.5707135} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"773a8f7f-4534-4ece-b4f9-4f713a8f3e7b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.5708263} 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":"c4df94f95529a1b62cf0059359b537fc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.570687626Z"}]},"request_id":"d5e7202f-fb0d-4447-8bc6-bfb8a327adb6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.5759637} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4df94f95529a1b62cf0059359b537fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"c4df94f95529a1b62cf0059359b537fc","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4df94f95529a1b62cf0059359b537fc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d8295c04164c481228e63ef40a982b9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.891644,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840268,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI2OH0.pM1Yh3Fn5g4pvW5rAkcXEI9PLTBMjMzS18_YgTgK3zM"} 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":"5d8295c04164c481228e63ef40a982b9"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5d28407-d907-4f21-a414-132d1915231f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.602842} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d8295c04164c481228e63ef40a982b9"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01ad44e6-8a53-44c0-8b37-4d54f07ad503","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.6083944} 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":"5d8295c04164c481228e63ef40a982b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"7aff97ad-b693-4ec9-bdaa-4f3d536cff6e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.61535} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3c6ab68-22e9-4dd8-8133-3652f5dffff1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.6154504} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d8295c04164c481228e63ef40a982b9"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.615328466Z"}]},"request_id":"e9acdcf1-12ed-45ee-8bf5-ab846ec3e499","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840268.6197557} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d8295c04164c481228e63ef40a982b9"},"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":"5d8295c04164c481228e63ef40a982b9","responseTime":37,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d8295c04164c481228e63ef40a982b9"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"fa8c8c05a8a4e20bdb5dc31cbfa7971d","responseTime":0,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/08b0bbac-5247-4d2f-8271-a467714502ab/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":"fa8c8c05a8a4e20bdb5dc31cbfa7971d"} device_1 | {"level":"info","message":"OPTIONS /devices/08b0bbac-5247-4d2f-8271-a467714502ab/websocket 200 2ms","method":"OPTIONS","requestID":"fa8c8c05a8a4e20bdb5dc31cbfa7971d","responseTime":2,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab/websocket"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e789f8b3d435f8db7397d0152249fd1b","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/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":"e789f8b3d435f8db7397d0152249fd1b"} device_1 | {"level":"info","message":"OPTIONS /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/websocket 200 2ms","method":"OPTIONS","requestID":"e789f8b3d435f8db7397d0152249fd1b","responseTime":2,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"98e0cdcc05f96d02699bb2929dae98ba","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"82a700a0f051b76350c44c1b6830a3fc","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.879211,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"98e0cdcc05f96d02699bb2929dae98ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.647449,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"82a700a0f051b76350c44c1b6830a3fc"},"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/08b0bbac-5247-4d2f-8271-a467714502ab/websocket 200 48ms","method":"POST","requestID":"98e0cdcc05f96d02699bb2929dae98ba","responseTime":48,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/08b0bbac-5247-4d2f-8271-a467714502ab/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.056","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"98e0cdcc05f96d02699bb2929dae98ba"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.061","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"82a700a0f051b76350c44c1b6830a3fc"} device_1 | {"level":"info","message":"POST /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/websocket 200 53ms","method":"POST","requestID":"82a700a0f051b76350c44c1b6830a3fc","responseTime":53,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1362aa450c19b8e2035d4cf1d12a5d7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870407,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1362aa450c19b8e2035d4cf1d12a5d7"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.570687626Z"}]},"request_id":"4a7abed8-539f-4e7a-a2ea-442447ae2ba0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.700055} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1362aa450c19b8e2035d4cf1d12a5d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1362aa450c19b8e2035d4cf1d12a5d7"} device_1 | {"level":"info","message":"GET /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3? 200 14ms","method":"GET","requestID":"e1362aa450c19b8e2035d4cf1d12a5d7","responseTime":14,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20b91466248c0a376197d5d7171a86ae","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761047,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20b91466248c0a376197d5d7171a86ae"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.615328466Z"}]},"request_id":"f0dd5467-3f8e-4961-a971-9e9594cce4c0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.7211847} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20b91466248c0a376197d5d7171a86ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08b0bbac-5247-4d2f-8271-a467714502ab? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20b91466248c0a376197d5d7171a86ae"} device_1 | {"level":"info","message":"GET /devices/08b0bbac-5247-4d2f-8271-a467714502ab? 200 13ms","method":"GET","requestID":"20b91466248c0a376197d5d7171a86ae","responseTime":13,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e163058ae9bc1293c5e7ab97e4b830e","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:53134","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.300117,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"3e163058ae9bc1293c5e7ab97e4b830e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"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:53134","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.290761,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"1a7b42a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.370819,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"1a7b90c0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.570687626Z"}]},"request_id":"22405917-5798-4e14-a4e1-5531d23480ea","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.8112915} 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":"1a7b42a0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.615328466Z"}]},"request_id":"319493f3-6129-427c-9b97-5a8863123873","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.8126743} 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":"1a7b90c0-f803-11ee-94dd-ef446cbc77bc"},"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/27c98ca8-db78-43f9-9561-87663b5cf6f3? 200 29ms","method":"GET","requestID":"1a7b42a0-f803-11ee-94dd-ef446cbc77bc","responseTime":29,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/08b0bbac-5247-4d2f-8271-a467714502ab? 200 28ms","method":"GET","requestID":"1a7b90c0-f803-11ee-94dd-ef446cbc77bc","responseTime":28,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"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:53134","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.705578,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"1a897370-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.519659,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"1a89e8a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.698331,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05c0ef73-4539-4f57-bf3d-705283c906f5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9055142} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","rebac_allow":false,"scope_allow":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":"1a8a5dd0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.570687626Z"}]},"request_id":"ed2a131b-ec87-46c3-8a41-487e880461c0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9113753} 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":"1a897370-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.615328466Z"}]},"request_id":"abbbbc34-8cfc-4d71-bf02-963a4bd75a6a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.916773} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a89e8a0-f803-11ee-94dd-ef446cbc77bc"},"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/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling 200 28ms","method":"POST","requestID":"1a8a5dd0-f803-11ee-94dd-ef446cbc77bc","responseTime":28,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95d6231d-82fe-4aa2-82f8-175b389d1d83#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95d6231d-82fe-4aa2-82f8-175b389d1d83","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"a729d734-9385-40b6-ad7d-0ef9f9769a44","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9243715} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b8890e4-021e-4752-9c24-5d9a7de2f17b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9246738} 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":"3e163058ae9bc1293c5e7ab97e4b830e"},"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:53134","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c2e67f3-7f0c-4a54-a273-602b1dc91286","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9310365} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.61536,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} device_1 | {"level":"info","message":"GET /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3? 200 45ms","method":"GET","requestID":"1a897370-f803-11ee-94dd-ef446cbc77bc","responseTime":45,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","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/08b0bbac-5247-4d2f-8271-a467714502ab? 200 43ms","method":"GET","requestID":"1a89e8a0-f803-11ee-94dd-ef446cbc77bc","responseTime":43,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab?"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a8f3fd0-f803-11ee-94dd-ef446cbc77bc"},"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/08b0bbac-5247-4d2f-8271-a467714502ab/signaling 200 11ms","method":"POST","requestID":"1a8f3fd0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 205ms","method":"POST","requestID":"3e163058ae9bc1293c5e7ab97e4b830e","responseTime":205,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e163058ae9bc1293c5e7ab97e4b830e"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"903171a8-9478-4f94-ba14-21af8c3c3ae7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9421027} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.291812,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a911490-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c932cb348aa8c6b5f4c25aee05d9635","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling 200 13ms","method":"POST","requestID":"1a911490-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869963,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"6c932cb348aa8c6b5f4c25aee05d9635"},"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:53134","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8aa73fe-6f1b-4597-8d4e-e130b3213f2c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.95788} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.570687626Z"}]},"request_id":"c4289289-8a61-479d-96a9-ef0f49ac5cf2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.958035} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c932cb348aa8c6b5f4c25aee05d9635"},"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:53134","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.52624,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a938590-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c932cb348aa8c6b5f4c25aee05d9635"} device_1 | {"level":"info","message":"GET /devices/27c98ca8-db78-43f9-9561-87663b5cf6f3? 200 18ms","method":"GET","requestID":"6c932cb348aa8c6b5f4c25aee05d9635","responseTime":18,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/08b0bbac-5247-4d2f-8271-a467714502ab/signaling 200 13ms","method":"POST","requestID":"1a938590-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"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":"d6f17ae6-05a4-44dc-8d8c-d09463047fdd"},{"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":"6d63cfbc-4845-423a-bb85-886e10af3698"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"436aa826-3fba-4166-af63-9662d8d3c15b"}]},"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/08b0bbac-5247-4d2f-8271-a467714502ab"},{"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/27c98ca8-db78-43f9-9561-87663b5cf6f3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cee27f85c5df894b19cea9a0b3cca512","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.938039,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} 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":"1a95f690-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.5797,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840270,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MH0.I0GUGfgBsX00WEOhloOb2X_-lbdl-aWH8zvmvb3X1Xs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cee27f85c5df894b19cea9a0b3cca512"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:48.615328466Z"}]},"request_id":"23c596fb-a75b-4330-a5b3-2383cf89de84","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9798734} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cee27f85c5df894b19cea9a0b3cca512"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08b0bbac-5247-4d2f-8271-a467714502ab? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cee27f85c5df894b19cea9a0b3cca512"} device_1 | {"level":"info","message":"GET /devices/08b0bbac-5247-4d2f-8271-a467714502ab? 200 14ms","method":"GET","requestID":"cee27f85c5df894b19cea9a0b3cca512","responseTime":14,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"01e05cf8-aa16-41b9-8808-802ba956380f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.9861426} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"555ef3d7-2aab-4585-8f76-4ce02c6ee31e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840270.986514} 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":"1a95f690-f803-11ee-94dd-ef446cbc77bc"},"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/5a7d1e89-825f-42a6-9a66-c9f47d81d27a'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a'"} 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":"1a95f690-f803-11ee-94dd-ef446cbc77bc","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/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9105873f-4255-4459-9436-22c2eeb4c1f7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.0506165} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.943325,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1aa18f50-f803-11ee-94dd-ef446cbc77bc"},"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/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling 200 11ms","method":"POST","requestID":"1aa18f50-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30d526b4-8da3-4d53-8c4b-ad12207ef39e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.0635018} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.702412,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1aa38b20-f803-11ee-94dd-ef446cbc77bc"},"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/08b0bbac-5247-4d2f-8271-a467714502ab/signaling 200 10ms","method":"POST","requestID":"1aa38b20-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5a7d1e89-825f-42a6-9a66-c9f47d81d27a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66d518e728962852f74c2cf2bba5cd85","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab"},{"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/27c98ca8-db78-43f9-9561-87663b5cf6f3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"66d518e728962852f74c2cf2bba5cd85","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"66d518e728962852f74c2cf2bba5cd85"} device_1 | {"data":{"peerconnection":"5a7d1e89-825f-42a6-9a66-c9f47d81d27a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"5a7d1e89-825f-42a6-9a66-c9f47d81d27a","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/5a7d1e89-825f-42a6-9a66-c9f47d81d27a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5a7d1e89-825f-42a6-9a66-c9f47d81d27a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c2a7989d4d536ec4d070021c803722a2","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/08b0bbac-5247-4d2f-8271-a467714502ab"},{"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/27c98ca8-db78-43f9-9561-87663b5cf6f3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a7d1e89-825f-42a6-9a66-c9f47d81d27a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68a52f28-7d3e-4a75-8981-a85f75444aa7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.2891002} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.429854,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a","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":"1ac5b920-f803-11ee-94dd-ef446cbc77bc"},"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/5a7d1e89-825f-42a6-9a66-c9f47d81d27a 200 14ms","method":"GET","requestID":"1ac5b920-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"c2a7989d4d536ec4d070021c803722a2","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2a7989d4d536ec4d070021c803722a2"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee59bef8-d0d5-44d1-bb94-264d9a7714f0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.326799} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.218575,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","rebac_allow":false,"scope_allow":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":"1acb8580-f803-11ee-94dd-ef446cbc77bc"},"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/08b0bbac-5247-4d2f-8271-a467714502ab/signaling 200 14ms","method":"POST","requestID":"1acb8580-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e7cb1b9-cb47-465d-b08d-5b85d79be033","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.344182} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.26788,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","rebac_allow":false,"scope_allow":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":"1ace1d90-f803-11ee-94dd-ef446cbc77bc"},"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/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling 200 15ms","method":"POST","requestID":"1ace1d90-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"baacd82410f29a4ff7c2bb53e7711dd6","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.708488,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840271,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8"} 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":"baacd82410f29a4ff7c2bb53e7711dd6"},"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/95d6231d-82fe-4aa2-82f8-175b389d1d83"} gateway_1 | {"time_local":"11/Apr/2024:12:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"baacd82410f29a4ff7c2bb53e7711dd6"} experiment_1 | {"level":"info","message":"GET /experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83 200 19ms","method":"GET","requestID":"baacd82410f29a4ff7c2bb53e7711dd6","responseTime":19,"status":200,"url":"/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1c78e53cb1a04183d3fb87cc8ce8dc80","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.380512,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840271,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8"} 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":"1c78e53cb1a04183d3fb87cc8ce8dc80"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.77813,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840271,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8"} 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":"1ad96830-f803-11ee-94dd-ef446cbc77bc"},"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/5a7d1e89-825f-42a6-9a66-c9f47d81d27a' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5a7d1e89-825f-42a6-9a66-c9f47d81d27a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"03640982767cd845f5617f8ebe94cdcc","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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/08b0bbac-5247-4d2f-8271-a467714502ab"},{"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/27c98ca8-db78-43f9-9561-87663b5cf6f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a7d1e89-825f-42a6-9a66-c9f47d81d27a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5a7d1e89-825f-42a6-9a66-c9f47d81d27a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"e0f5aed1-86de-4d2b-be46-bf9348ac8009","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.4402606} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"135f48f7feb48e4e6fac6ec6e9d410bd","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c55c6d9-82d6-4f5f-9741-00afb0275bdf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.4408827} 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/08b0bbac-5247-4d2f-8271-a467714502ab"},{"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/27c98ca8-db78-43f9-9561-87663b5cf6f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ad96830-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"data":{"peerconnection":"5a7d1e89-825f-42a6-9a66-c9f47d81d27a","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/5a7d1e89-825f-42a6-9a66-c9f47d81d27a 204 63ms","method":"DELETE","requestID":"1ad96830-f803-11ee-94dd-ef446cbc77bc","responseTime":63,"status":204,"url":"/peerconnections/5a7d1e89-825f-42a6-9a66-c9f47d81d27a"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08b0bbac-5247-4d2f-8271-a467714502ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12154ffc-6e04-4a8f-9520-deb0dce1140c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.5079784} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.895502,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab","object_type":"device","rebac_allow":false,"scope_allow":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":"1ae6fcc0-f803-11ee-94dd-ef446cbc77bc"},"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/08b0bbac-5247-4d2f-8271-a467714502ab/signaling 200 18ms","method":"POST","requestID":"1ae6fcc0-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/08b0bbac-5247-4d2f-8271-a467714502ab/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95d6231d-82fe-4aa2-82f8-175b389d1d83': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F95d6231d-82fe-4aa2-82f8-175b389d1d83","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"516b14cd-86b3-4ab4-a499-ad03efdace0c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.5211635} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b8d1b68-b56a-450f-828f-04f44623d739","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.5217638} 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":"1c78e53cb1a04183d3fb87cc8ce8dc80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27c98ca8-db78-43f9-9561-87663b5cf6f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac745896-5798-4505-99ee-32af7fdfd07a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.5371115} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.151038,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3","object_type":"device","rebac_allow":false,"scope_allow":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":"1aeb1b70-f803-11ee-94dd-ef446cbc77bc"},"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/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling 200 18ms","method":"POST","requestID":"1aeb1b70-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"} gateway_1 | {"time_local":"11/Apr/2024:12:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c78e53cb1a04183d3fb87cc8ce8dc80"} experiment_1 | {"level":"info","message":"DELETE /experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83 204 199ms","method":"DELETE","requestID":"1c78e53cb1a04183d3fb87cc8ce8dc80","responseTime":199,"status":204,"url":"/experiments/95d6231d-82fe-4aa2-82f8-175b389d1d83"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 160ms","method":"POST","requestID":"03640982767cd845f5617f8ebe94cdcc","responseTime":160,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.164","http_referrer":"","http_user_agent":"node-fetch","requestID":"03640982767cd845f5617f8ebe94cdcc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f247585a7e686a854c471700f77879c8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"135f48f7feb48e4e6fac6ec6e9d410bd","responseTime":161,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"135f48f7feb48e4e6fac6ec6e9d410bd"} gateway_1 | {"time_local":"11/Apr/2024:12:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2167","request_time":"0.938","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4c7c79e18f7c636064fcdf4ad1833f31"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.00703,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840271,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8"} 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":"f247585a7e686a854c471700f77879c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"11/Apr/2024:12:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2436","request_time":"0.951","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1d2be068b691bd1fab6d385e85cda258"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/08b0bbac-5247-4d2f-8271-a467714502ab' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/27c98ca8-db78-43f9-9561-87663b5cf6f3' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0fb4d98a-8657-4070-98b2-323d5a221bbb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.6237705} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f247585a7e686a854c471700f77879c8"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cd95980-f1f2-4012-a3a9-97ba16887fbb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.6280394} 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":"f247585a7e686a854c471700f77879c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"5f99650f-8168-4eb5-a97d-dc3ddf3832b2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.6422253} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"afbad034-1aa0-4af3-b790-1fee0535026b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.6422744} 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":"f247585a7e686a854c471700f77879c8"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.642202143Z"}]},"request_id":"096f8f76-dbfb-4229-9df2-69d0d760db9c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.6475358} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f247585a7e686a854c471700f77879c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"f247585a7e686a854c471700f77879c8","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f247585a7e686a854c471700f77879c8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c863b6828f62f7d471a1cd1c1273821","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.580685,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840271,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3MX0.GJ5p5tISfm3mVYewSuyN9OGLyg0-rD6m-3jgza_Q4B8"} 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":"0c863b6828f62f7d471a1cd1c1273821"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5c907d29-f067-41f9-9fe3-70d70b9a69db","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.6772065} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c863b6828f62f7d471a1cd1c1273821"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05b2188f-ee13-4216-b31f-80817af09d40","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.683628} 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":"0c863b6828f62f7d471a1cd1c1273821"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"81c94702-c97e-4de7-ac77-b8e08aff9000","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.6949205} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edc395fa-6a05-45ed-adda-2de70a046b58","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.695728} 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":"0c863b6828f62f7d471a1cd1c1273821"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.694893043Z"}]},"request_id":"1b260a04-45dd-4a80-8b86-28d4f34cdb52","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840271.7021914} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c863b6828f62f7d471a1cd1c1273821"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"0c863b6828f62f7d471a1cd1c1273821","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c863b6828f62f7d471a1cd1c1273821"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ce927c03910579aa71c45ed1994babcc","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/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":"ce927c03910579aa71c45ed1994babcc"} device_1 | {"level":"info","message":"OPTIONS /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/websocket 200 1ms","method":"OPTIONS","requestID":"ce927c03910579aa71c45ed1994babcc","responseTime":1,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f7a3fd12f2cc8fa6822f1ac2aebce35","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"10621e6afcb07d9fea0ac9ddc769a938","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/682be4d1-6b23-4b58-b32a-3ed523d95532/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":"10621e6afcb07d9fea0ac9ddc769a938"} device_1 | {"level":"info","message":"OPTIONS /devices/682be4d1-6b23-4b58-b32a-3ed523d95532/websocket 200 1ms","method":"OPTIONS","requestID":"10621e6afcb07d9fea0ac9ddc769a938","responseTime":1,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532/websocket"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.331967,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} 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":"9f7a3fd12f2cc8fa6822f1ac2aebce35"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f0b1f1447115a7b6d5f52644621b02e2","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.316833,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0b1f1447115a7b6d5f52644621b02e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/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":"9f7a3fd12f2cc8fa6822f1ac2aebce35"} device_1 | {"level":"info","message":"POST /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/websocket 200 46ms","method":"POST","requestID":"9f7a3fd12f2cc8fa6822f1ac2aebce35","responseTime":46,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/682be4d1-6b23-4b58-b32a-3ed523d95532/websocket 200 45ms","method":"POST","requestID":"f0b1f1447115a7b6d5f52644621b02e2","responseTime":45,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/682be4d1-6b23-4b58-b32a-3ed523d95532/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f0b1f1447115a7b6d5f52644621b02e2"} device_1 | {"level":"info","message":"device 'http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"03eeedbe40f3fcbc73df46ffcd240189","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.337242,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03eeedbe40f3fcbc73df46ffcd240189"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.642202143Z"}]},"request_id":"23624728-d7b0-487b-99da-7e3501759771","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.7694483} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03eeedbe40f3fcbc73df46ffcd240189"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/682be4d1-6b23-4b58-b32a-3ed523d95532? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03eeedbe40f3fcbc73df46ffcd240189"} device_1 | {"level":"info","message":"GET /devices/682be4d1-6b23-4b58-b32a-3ed523d95532? 200 21ms","method":"GET","requestID":"03eeedbe40f3fcbc73df46ffcd240189","responseTime":21,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5a3c8b563fc9ff63b75e14bdc7394eea","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.647318,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a3c8b563fc9ff63b75e14bdc7394eea"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.694893043Z"}]},"request_id":"f5e52ec3-16cb-4fc2-b7a6-f39eb2d2ce93","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.7988067} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a3c8b563fc9ff63b75e14bdc7394eea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a3c8b563fc9ff63b75e14bdc7394eea"} device_1 | {"level":"info","message":"GET /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af? 200 17ms","method":"GET","requestID":"5a3c8b563fc9ff63b75e14bdc7394eea","responseTime":17,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c41bf5a7ca2f7a5334b246cd4c9e43ef","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:53134","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.216079,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} 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":"c41bf5a7ca2f7a5334b246cd4c9e43ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"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:53134","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.352539,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c511410-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888209,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c513b20-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.642202143Z"}]},"request_id":"15938ab2-113b-4302-b202-e9d388772c73","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.8836718} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c511410-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.694893043Z"}]},"request_id":"bb888841-6829-4bad-8881-bd371e8177c0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.8847203} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c513b20-f803-11ee-94dd-ef446cbc77bc"},"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/682be4d1-6b23-4b58-b32a-3ed523d95532? 200 19ms","method":"GET","requestID":"1c511410-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af? 200 19ms","method":"GET","requestID":"1c513b20-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"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/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205946,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c5cd3e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939654,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} 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":"1c5d2200-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.642202143Z"}]},"request_id":"ecf08588-6de5-418e-8ed7-a81d9eaacb14","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.9664958} 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":"1c5cd3e0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.694893043Z"}]},"request_id":"b1b5c878-7853-49d4-ab1a-086a9743a4bb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.9676094} authorization_1 | {"client_addr":"127.0.0.1:49682","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c5d2200-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a00846d-ae06-4ebd-b352-2885d3557705","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.9720724} authorization_1 | {"client_addr":"127.0.0.1:49682","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.269072,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 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":"1c5d7020-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device_1 | {"level":"info","message":"GET /devices/682be4d1-6b23-4b58-b32a-3ed523d95532? 200 25ms","method":"GET","requestID":"1c5cd3e0-f803-11ee-94dd-ef446cbc77bc","responseTime":25,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af? 200 24ms","method":"GET","requestID":"1c5d2200-f803-11ee-94dd-ef446cbc77bc","responseTime":24,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff874aeab-4ce1-45b8-928b-6943bdd4c40e#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff874aeab-4ce1-45b8-928b-6943bdd4c40e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"8c79eb32-c1a1-4392-8c5e-27934ba350e4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.9782827} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5df46a1a-fa4d-4646-a032-0b2a7b824bd1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.978496} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling 200 26ms","method":"POST","requestID":"1c5d7020-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling"} 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":"c41bf5a7ca2f7a5334b246cd4c9e43ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"449a8b9e-ee11-4b73-9f81-300748f8af9b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.9899018} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.782978,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c620400-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a5e6178-aaf3-4c13-943f-c5bff60a09c3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840273.9912844} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.441757,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:53Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c627930-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling 200 13ms","method":"POST","requestID":"1c620400-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 183ms","method":"POST","requestID":"c41bf5a7ca2f7a5334b246cd4c9e43ef","responseTime":183,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling 200 12ms","method":"POST","requestID":"1c627930-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling"} gateway_1 | {"time_local":"11/Apr/2024:12:57:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c41bf5a7ca2f7a5334b246cd4c9e43ef"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3fa7b0ec79d722bb2c31e9b0e6e8b87a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c5d33b8-adcc-4d8e-bec1-93f44615a029","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.0049222} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477789,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c647500-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734892,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} device_1 | {"level":"info","message":"POST /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling 200 10ms","method":"POST","requestID":"1c647500-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840274,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"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":"242de0d3-ebf3-4a07-a2c1-a2562f9e8352"},{"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":"9d932567-4d3a-4aa3-9ba8-a0bdf58cf4f9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1cf0863c-5c5b-466f-bd35-51520480d2cc"}]},"level":"info","message":"Built pairwise service configurations"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fa7b0ec79d722bb2c31e9b0e6e8b87a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532"},{"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.642202143Z"}]},"request_id":"5068591f-51e4-4f52-a7ab-02bd967e182f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.0150557} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fa7b0ec79d722bb2c31e9b0e6e8b87a"},"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:53134","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.658575,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840273,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3M30.Wso-1qOjYt06p4MU9k5YrF_N8aOh_SiL3cBQhh89Avk"} 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":"1c6670d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/682be4d1-6b23-4b58-b32a-3ed523d95532? 200 16ms","method":"GET","requestID":"3fa7b0ec79d722bb2c31e9b0e6e8b87a","responseTime":16,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/682be4d1-6b23-4b58-b32a-3ed523d95532? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fa7b0ec79d722bb2c31e9b0e6e8b87a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ffd4fbdfddf0de345efe0d4f6002e08d","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"99d8c7ed-2b6f-406a-bdc7-5a8fb5c63641","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.0260146} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f48bbe58-d66b-4f87-a169-35efff9b393b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.0262785} 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":"1c6670d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656775,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840274,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ"} 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":"ffd4fbdfddf0de345efe0d4f6002e08d"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:51.694893043Z"}]},"request_id":"1ba03caf-61da-436e-bbe3-ccc5235b0f70","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.033378} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffd4fbdfddf0de345efe0d4f6002e08d"},"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/6e846ff4-a3e8-4f02-9433-9c130e48acf2'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2'"} 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":"1c6670d0-f803-11ee-94dd-ef446cbc77bc","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":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af? 200 25ms","method":"GET","requestID":"ffd4fbdfddf0de345efe0d4f6002e08d","responseTime":25,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffd4fbdfddf0de345efe0d4f6002e08d"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4378c7fd-69e0-4040-9878-18b6a09ba7db","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.0826151} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.116309,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","rebac_allow":false,"scope_allow":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":"1c705be0-f803-11ee-94dd-ef446cbc77bc"},"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/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling 200 10ms","method":"POST","requestID":"1c705be0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be583a5e-68c9-4d64-bc6c-99ad608b4ff6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.093966} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.273332,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","rebac_allow":false,"scope_allow":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":"1c7230a0-f803-11ee-94dd-ef446cbc77bc"},"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling 200 8ms","method":"POST","requestID":"1c7230a0-f803-11ee-94dd-ef446cbc77bc","responseTime":8,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6e846ff4-a3e8-4f02-9433-9c130e48acf2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49ac3afa211c35b959821f0fd43ba3a5","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532"},{"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"49ac3afa211c35b959821f0fd43ba3a5","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"49ac3afa211c35b959821f0fd43ba3a5"} device_1 | {"data":{"peerconnection":"6e846ff4-a3e8-4f02-9433-9c130e48acf2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"6e846ff4-a3e8-4f02-9433-9c130e48acf2","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/6e846ff4-a3e8-4f02-9433-9c130e48acf2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6e846ff4-a3e8-4f02-9433-9c130e48acf2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f1dd732264d8be2bf0237254ae7696b0","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/682be4d1-6b23-4b58-b32a-3ed523d95532"},{"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e846ff4-a3e8-4f02-9433-9c130e48acf2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8176129f-3267-4ccb-87bf-36d7db410b4e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.3125865} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.651956,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2","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":"1c92ff10-f803-11ee-94dd-ef446cbc77bc"},"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/6e846ff4-a3e8-4f02-9433-9c130e48acf2 200 13ms","method":"GET","requestID":"1c92ff10-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"f1dd732264d8be2bf0237254ae7696b0","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"f1dd732264d8be2bf0237254ae7696b0"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4772a0b3-b4f2-4ee2-ae7d-46c5ee2eda38","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.3460152} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.198478,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","rebac_allow":false,"scope_allow":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":"1c982f30-f803-11ee-94dd-ef446cbc77bc"},"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/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling 200 13ms","method":"POST","requestID":"1c982f30-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7830898a-dbfe-4322-9adc-dacea892ab88","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.3622832} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.809153,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c9ac740-f803-11ee-94dd-ef446cbc77bc"},"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling 200 13ms","method":"POST","requestID":"1c9ac740-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"01d4b27fb8a4d72027d81102725900fc","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.950791,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840274,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ"} 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":"01d4b27fb8a4d72027d81102725900fc"},"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/f874aeab-4ce1-45b8-928b-6943bdd4c40e"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01d4b27fb8a4d72027d81102725900fc"} experiment_1 | {"level":"info","message":"GET /experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e 200 17ms","method":"GET","requestID":"01d4b27fb8a4d72027d81102725900fc","responseTime":17,"status":200,"url":"/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8693d394405da33bc59d1c767b73f2db","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.152236,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840274,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ"} 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":"8693d394405da33bc59d1c767b73f2db"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.337986,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840274,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ"} 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":"1ca6ae20-f803-11ee-94dd-ef446cbc77bc"},"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/6e846ff4-a3e8-4f02-9433-9c130e48acf2' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6e846ff4-a3e8-4f02-9433-9c130e48acf2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e846ff4-a3e8-4f02-9433-9c130e48acf2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e846ff4-a3e8-4f02-9433-9c130e48acf2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"92032061-e477-424a-888d-20fc1d36d6c4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.4629211} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"16225d11c00ec5f569074cf16e60af6d","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f951992-689c-47b1-8799-14a6d8a217e5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.4636137} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27f0b83aa18bfd050eed339bcf5bf76a","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ca6ae20-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/682be4d1-6b23-4b58-b32a-3ed523d95532"},{"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532"},{"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"6e846ff4-a3e8-4f02-9433-9c130e48acf2","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/6e846ff4-a3e8-4f02-9433-9c130e48acf2 204 55ms","method":"DELETE","requestID":"1ca6ae20-f803-11ee-94dd-ef446cbc77bc","responseTime":55,"status":204,"url":"/peerconnections/6e846ff4-a3e8-4f02-9433-9c130e48acf2"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682be4d1-6b23-4b58-b32a-3ed523d95532","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1100325f-c788-459e-881d-a05a83b40bc5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.524976} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.075714,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532","object_type":"device","rebac_allow":false,"scope_allow":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":"1cb35850-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff874aeab-4ce1-45b8-928b-6943bdd4c40e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff874aeab-4ce1-45b8-928b-6943bdd4c40e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"531289d5-5db7-4027-9b0e-d0e46e0a95de","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.532852} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/682be4d1-6b23-4b58-b32a-3ed523d95532/signaling 200 17ms","method":"POST","requestID":"1cb35850-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/682be4d1-6b23-4b58-b32a-3ed523d95532/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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ada66972-8b30-4822-92fc-d9d9275f85c6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.533496} 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":"8693d394405da33bc59d1c767b73f2db"},"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:53134","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5632e66c-d369-4f16-bdf4-25bdd0f7f5af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd32fc07-a96c-419c-93e8-dc639fe320d2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.5448334} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.324627,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af","object_type":"device","rebac_allow":false,"scope_allow":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":"1cb66590-f803-11ee-94dd-ef446cbc77bc"},"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/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling 200 15ms","method":"POST","requestID":"1cb66590-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e 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":"8693d394405da33bc59d1c767b73f2db"} experiment_1 | {"level":"info","message":"DELETE /experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e 204 179ms","method":"DELETE","requestID":"8693d394405da33bc59d1c767b73f2db","responseTime":179,"status":204,"url":"/experiments/f874aeab-4ce1-45b8-928b-6943bdd4c40e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"16225d11c00ec5f569074cf16e60af6d","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"16225d11c00ec5f569074cf16e60af6d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"27f0b83aa18bfd050eed339bcf5bf76a","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"27f0b83aa18bfd050eed339bcf5bf76a"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2165","request_time":"0.887","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3bb6dcad224dc12b19477f7f593a91e8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9e4b92d26a2257b91f6bb5192672838d","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2436","request_time":"0.880","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2e5734e55d4e68fd2a5ce57336873843"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.752968,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840274,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/682be4d1-6b23-4b58-b32a-3ed523d95532' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e4b92d26a2257b91f6bb5192672838d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5632e66c-d369-4f16-bdf4-25bdd0f7f5af' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f36d3933-7d7f-473e-9786-6724586b2923","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6335034} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e4b92d26a2257b91f6bb5192672838d"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a8c96d1-7d13-49c1-8895-7f8df062978d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6391034} 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":"9e4b92d26a2257b91f6bb5192672838d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"51272e78-d07e-4cd1-b155-c87de89a6c46","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6520455} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3a51e99-53cd-4ed2-b1bc-1d1ccbe44416","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6523123} 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":"9e4b92d26a2257b91f6bb5192672838d"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.652029187Z"}]},"request_id":"1bb2054f-dff0-4ba0-a81e-ecc125e4b761","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6560323} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e4b92d26a2257b91f6bb5192672838d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"9e4b92d26a2257b91f6bb5192672838d","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e4b92d26a2257b91f6bb5192672838d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7dcae7d1e52c90119100e36bf011fb28","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.665279,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840274,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NH0.ik9tKxUH4DwKC1XLrQv2OHy93QMIGKBUZwwTELm9WIQ"} 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":"7dcae7d1e52c90119100e36bf011fb28"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45f992b8-a286-4a7b-85f4-6957fc139fa0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6796525} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7dcae7d1e52c90119100e36bf011fb28"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"923fdd6c-265f-4ae7-88de-81dee61bea06","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.68469} 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":"7dcae7d1e52c90119100e36bf011fb28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"8ab88a20-4735-41c1-9c4e-51f32b05512a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6950989} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc297027-f715-435c-bc7d-5ce52bf91176","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.6952214} 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":"7dcae7d1e52c90119100e36bf011fb28"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.695083200Z"}]},"request_id":"272ce54e-ddde-4da4-bb74-b9fcc8ebc5b4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840274.69921} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7dcae7d1e52c90119100e36bf011fb28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"7dcae7d1e52c90119100e36bf011fb28","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7dcae7d1e52c90119100e36bf011fb28"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NX0.4heBMn18eMI6pNXwb51ujxHIdTw9p1USRmH9Irx_J3o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca001828f36d3c5c6bc44727ca26e77a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:55Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835897,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:55Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840275,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NX0.4heBMn18eMI6pNXwb51ujxHIdTw9p1USRmH9Irx_J3o"} 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":"ca001828f36d3c5c6bc44727ca26e77a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.695083200Z"}]},"request_id":"9434f54e-f6b9-415b-b5e2-7957055c6e12","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840275.1954265} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca001828f36d3c5c6bc44727ca26e77a"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0763cf36-2532-4d7c-8778-56a396e41040","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840275.2018375} 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":"ca001828f36d3c5c6bc44727ca26e77a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.695083200Z"}]},"request_id":"1647f79f-fb77-4bda-a1e9-7921772d2e67","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840275.219466} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca001828f36d3c5c6bc44727ca26e77a"},"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/ef5f1038-7384-4983-8041-89668189c1fe 200 40ms","method":"PATCH","requestID":"ca001828f36d3c5c6bc44727ca26e77a","responseTime":40,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe"} gateway_1 | {"time_local":"11/Apr/2024:12:57:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ef5f1038-7384-4983-8041-89668189c1fe HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ca001828f36d3c5c6bc44727ca26e77a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NX0.4heBMn18eMI6pNXwb51ujxHIdTw9p1USRmH9Irx_J3o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c2f8a5ad9abb8705b1379b96e83b8fc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:55Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281458,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:55Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840275,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3NX0.4heBMn18eMI6pNXwb51ujxHIdTw9p1USRmH9Irx_J3o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c2f8a5ad9abb8705b1379b96e83b8fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ef5f1038-7384-4983-8041-89668189c1fe/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9c2f8a5ad9abb8705b1379b96e83b8fc"} device_1 | {"level":"info","message":"POST /devices/ef5f1038-7384-4983-8041-89668189c1fe/websocket 200 34ms","method":"POST","requestID":"9c2f8a5ad9abb8705b1379b96e83b8fc","responseTime":34,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7f78546186b98aca724c17186cf18e3d","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/websocket 200 1ms","method":"OPTIONS","requestID":"7f78546186b98aca724c17186cf18e3d","responseTime":1,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/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":"7f78546186b98aca724c17186cf18e3d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c2c4789f5f512c2ba65e5ea3a033c605","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252397,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"c2c4789f5f512c2ba65e5ea3a033c605"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c2c4789f5f512c2ba65e5ea3a033c605"} device_1 | {"level":"info","message":"POST /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/websocket 200 32ms","method":"POST","requestID":"c2c4789f5f512c2ba65e5ea3a033c605","responseTime":32,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"87228d616b9ae5dfeb259cf3ed3620a5","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.360823,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87228d616b9ae5dfeb259cf3ed3620a5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.652029187Z"}]},"request_id":"a1c84ee9-85ad-4eba-9c88-21fa2c292087","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840276.7895825} 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":"87228d616b9ae5dfeb259cf3ed3620a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87228d616b9ae5dfeb259cf3ed3620a5"} device_1 | {"level":"info","message":"GET /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c? 200 22ms","method":"GET","requestID":"87228d616b9ae5dfeb259cf3ed3620a5","responseTime":22,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"400382c6e7febf8ec465dcdd568efa6b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.767059,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"400382c6e7febf8ec465dcdd568efa6b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.695083200Z"}]},"request_id":"176f1d57-c1e0-4bb6-b931-07d96cecde44","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840276.8220985} 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":"400382c6e7febf8ec465dcdd568efa6b"},"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/ef5f1038-7384-4983-8041-89668189c1fe? 200 22ms","method":"GET","requestID":"400382c6e7febf8ec465dcdd568efa6b","responseTime":22,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef5f1038-7384-4983-8041-89668189c1fe? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"400382c6e7febf8ec465dcdd568efa6b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"09886d2ab351f493105062d041fc9499","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:53134","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.194518,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"09886d2ab351f493105062d041fc9499"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"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:53134","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213939,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"1e1fe0a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.268776,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"1e202ec0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.652029187Z"}]},"request_id":"d61bbda3-d1d6-4fd8-83f9-27de08c79b6e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840276.9212346} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e1fe0a0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.695083200Z"}]},"request_id":"8e10f59a-7b9a-4615-8820-f5842523b061","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840276.9219716} 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":"1e202ec0-f803-11ee-94dd-ef446cbc77bc"},"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c? 200 23ms","method":"GET","requestID":"1e1fe0a0-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ef5f1038-7384-4983-8041-89668189c1fe? 200 24ms","method":"GET","requestID":"1e202ec0-f803-11ee-94dd-ef446cbc77bc","responseTime":24,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"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:53134","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.458962,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"1e2dea60-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133993,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"1e2e3880-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.414868,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c77b86e6-f5f9-403c-85a2-385d99b1d565","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0112128} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","rebac_allow":false,"scope_allow":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":"1e2eadb0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.652029187Z"}]},"request_id":"7a29f6ab-0fb2-4428-b66e-abd47c07d7d3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0143797} 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":"1e2dea60-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.695083200Z"}]},"request_id":"a7fa6b16-967e-4826-b9c5-acbbebf7b1b1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0188203} 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":"1e2e3880-f803-11ee-94dd-ef446cbc77bc"},"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling 200 21ms","method":"POST","requestID":"1e2eadb0-f803-11ee-94dd-ef446cbc77bc","responseTime":21,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"19a2c37a-1a77-4c12-bbef-aa72375b0e8b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0273044} 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04f26f08-f07f-4189-9f44-53fa9f4c79cf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0278134} 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":"09886d2ab351f493105062d041fc9499"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c? 200 33ms","method":"GET","requestID":"1e2dea60-f803-11ee-94dd-ef446cbc77bc","responseTime":33,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} device_1 | {"level":"info","message":"GET /devices/ef5f1038-7384-4983-8041-89668189c1fe? 200 33ms","method":"GET","requestID":"1e2e3880-f803-11ee-94dd-ef446cbc77bc","responseTime":33,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c88453c7-6616-4f9f-a50c-5f343ec20d0f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0364344} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.890759,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","rebac_allow":false,"scope_allow":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":"1e327e40-f803-11ee-94dd-ef446cbc77bc"},"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/ef5f1038-7384-4983-8041-89668189c1fe/signaling 200 15ms","method":"POST","requestID":"1e327e40-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27628640-e357-4516-928d-0a05007e44b8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0453646} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780168,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 207ms","method":"POST","requestID":"09886d2ab351f493105062d041fc9499","responseTime":207,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e345300-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.218","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09886d2ab351f493105062d041fc9499"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling 200 12ms","method":"POST","requestID":"1e345300-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cefb4be3ac16d645dd044f152b019cf5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695756,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840277,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0"} 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":"cefb4be3ac16d645dd044f152b019cf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"091a7098-4775-4abc-bb40-b1f05565e7e4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.060679} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558748,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","rebac_allow":false,"scope_allow":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":"1e36c400-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.652029187Z"}]},"request_id":"1ebb269d-e780-43dd-8acf-d5e8f60ade65","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0646026} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cefb4be3ac16d645dd044f152b019cf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"POST /devices/ef5f1038-7384-4983-8041-89668189c1fe/signaling 200 9ms","method":"POST","requestID":"1e36c400-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"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":"d8d6c0a7-6fe8-42de-8990-cd92da650085"},{"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":"9fa5e796-4372-493f-909b-3870f9eb5a31"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7757e44c-874d-4311-a078-1401bca67329"}]},"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c"},{"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/ef5f1038-7384-4983-8041-89668189c1fe"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cefb4be3ac16d645dd044f152b019cf5"} device_1 | {"level":"info","message":"GET /devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c? 200 16ms","method":"GET","requestID":"cefb4be3ac16d645dd044f152b019cf5","responseTime":16,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.855162,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840276,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3Nn0.Wsg0WfV7p66fYPvZeRfOMD4J7dEpxk77zKmU4F7x-1Y"} 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":"1e38bfd0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"829005fcfa39e9bb2357026a779d531f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771726,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840277,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0"} 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":"829005fcfa39e9bb2357026a779d531f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"a58907c3-d210-4fa2-a303-cf2d17e474ec","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0848548} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"491658fa-90e3-4cde-a02e-811ac9f0bc49","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0849795} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:54.695083200Z"}]},"request_id":"0ae96483-8f0c-41a0-a6dd-ece4d990a2e7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.0858498} 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":"1e38bfd0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"829005fcfa39e9bb2357026a779d531f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ef5f1038-7384-4983-8041-89668189c1fe? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"829005fcfa39e9bb2357026a779d531f"} device_1 | {"level":"info","message":"GET /devices/ef5f1038-7384-4983-8041-89668189c1fe? 200 15ms","method":"GET","requestID":"829005fcfa39e9bb2357026a779d531f","responseTime":15,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe?"} 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/19cb0432-1f88-4d3e-9623-d6f028902965'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"1e38bfd0-f803-11ee-94dd-ef446cbc77bc","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"19cb0432-1f88-4d3e-9623-d6f028902965","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4692ff7-68e8-4d55-a5a9-84ae3b0c3a49","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.150181} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.483553,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e447fa0-f803-11ee-94dd-ef446cbc77bc"},"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling 200 9ms","method":"POST","requestID":"1e447fa0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"19cb0432-1f88-4d3e-9623-d6f028902965","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2398baa1-9c27-455f-8f6c-1c868f6e37a1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.164454} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422159,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"85101cbe156aa84ff35ef3b87c8562c1","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","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":{"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c"},{"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/ef5f1038-7384-4983-8041-89668189c1fe"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e467b70-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"85101cbe156aa84ff35ef3b87c8562c1","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"85101cbe156aa84ff35ef3b87c8562c1"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ef5f1038-7384-4983-8041-89668189c1fe/signaling 200 20ms","method":"POST","requestID":"1e467b70-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe/signaling"} device_1 | {"data":{"peerconnection":"19cb0432-1f88-4d3e-9623-d6f028902965","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"19cb0432-1f88-4d3e-9623-d6f028902965","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/19cb0432-1f88-4d3e-9623-d6f028902965' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"19cb0432-1f88-4d3e-9623-d6f028902965","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"525d9cbb41c874b7675cccad41b503ee","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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c"},{"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/ef5f1038-7384-4983-8041-89668189c1fe"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F19cb0432-1f88-4d3e-9623-d6f028902965","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5867a091-5048-4dab-aae0-c710962bbaaa","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.2325466} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.263872,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965","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":"1e5102c0-f803-11ee-94dd-ef446cbc77bc"},"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/19cb0432-1f88-4d3e-9623-d6f028902965 200 9ms","method":"GET","requestID":"1e5102c0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"525d9cbb41c874b7675cccad41b503ee","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"525d9cbb41c874b7675cccad41b503ee"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e485e31e-9992-4a60-9ea0-c371702f5d34","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.2591205} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.248465,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","rebac_allow":false,"scope_allow":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":"1e552170-f803-11ee-94dd-ef446cbc77bc"},"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling 200 9ms","method":"POST","requestID":"1e552170-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3d755f1-5deb-44cd-8634-e2cc34edf0b7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.2709973} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.553198,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e56cf20-f803-11ee-94dd-ef446cbc77bc"},"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/ef5f1038-7384-4983-8041-89668189c1fe/signaling 200 9ms","method":"POST","requestID":"1e56cf20-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"38446af8e17d3207816d944db0c9e546","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.071034,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840277,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0"} 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":"38446af8e17d3207816d944db0c9e546"},"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/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"} experiment_1 | {"level":"info","message":"GET /experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb 200 13ms","method":"GET","requestID":"38446af8e17d3207816d944db0c9e546","responseTime":13,"status":200,"url":"/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38446af8e17d3207816d944db0c9e546"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"250a7c042622b19080ba9f9d36fa880c","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.744596,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840277,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0"} 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":"250a7c042622b19080ba9f9d36fa880c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.130064,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840277,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0"} 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":"1e643ca0-f803-11ee-94dd-ef446cbc77bc"},"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/19cb0432-1f88-4d3e-9623-d6f028902965' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"19cb0432-1f88-4d3e-9623-d6f028902965","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"396d9dfcdfff5f66f8776ec0bd48f12a","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d06f6aea-fd42-449a-9037-a6e3b4c63b59","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.3728406} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F19cb0432-1f88-4d3e-9623-d6f028902965': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F19cb0432-1f88-4d3e-9623-d6f028902965","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"b8791bc0-1b0c-43e7-b198-a295303ecdaf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.3731759} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"a9ee7b5954ab69dab51432e06d903773","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","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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c"},{"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/ef5f1038-7384-4983-8041-89668189c1fe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c"},{"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/ef5f1038-7384-4983-8041-89668189c1fe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e643ca0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"data":{"peerconnection":"19cb0432-1f88-4d3e-9623-d6f028902965","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/19cb0432-1f88-4d3e-9623-d6f028902965 204 45ms","method":"DELETE","requestID":"1e643ca0-f803-11ee-94dd-ef446cbc77bc","responseTime":45,"status":204,"url":"/peerconnections/19cb0432-1f88-4d3e-9623-d6f028902965"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3de935e-bf8e-402e-a6c3-9cb98f2c882c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44f5fbd7-c212-454b-8b0d-4173ad7a36c3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.430936} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.429754,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c","object_type":"device","rebac_allow":false,"scope_allow":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":"1e6eeb00-f803-11ee-94dd-ef446cbc77bc"},"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling 200 14ms","method":"POST","requestID":"1e6eeb00-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/e3de935e-bf8e-402e-a6c3-9cb98f2c882c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"629dcb1e-d44d-41d9-ae00-a4d5b4e2c1eb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.4409118} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f32cae5-114c-4e4d-9bb0-44c50835adb9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.4413335} 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":"250a7c042622b19080ba9f9d36fa880c"},"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:53134","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fef5f1038-7384-4983-8041-89668189c1fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c07020c-26a3-4f98-b116-3c46477d4bfe","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.447648} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.146203,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ef5f1038-7384-4983-8041-89668189c1fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e718310-f803-11ee-94dd-ef446cbc77bc"},"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/ef5f1038-7384-4983-8041-89668189c1fe/signaling 200 13ms","method":"POST","requestID":"1e718310-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/ef5f1038-7384-4983-8041-89668189c1fe/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"250a7c042622b19080ba9f9d36fa880c"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2117","request_time":"2.240","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ea212180d89f7185a6bac834519febae"} experiment_1 | {"level":"info","message":"DELETE /experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb 204 169ms","method":"DELETE","requestID":"250a7c042622b19080ba9f9d36fa880c","responseTime":169,"status":204,"url":"/experiments/5779e8e7-a215-4ef4-8be6-3ecadbdfe7bb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"396d9dfcdfff5f66f8776ec0bd48f12a","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"396d9dfcdfff5f66f8776ec0bd48f12a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"a9ee7b5954ab69dab51432e06d903773","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9ee7b5954ab69dab51432e06d903773"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"752a5760187975f42f39db6943983b56","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.767","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0be11aa1463b2f963c0c7c64d74d7c37"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.966987,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840277,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0"} 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":"752a5760187975f42f39db6943983b56"},"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/ef5f1038-7384-4983-8041-89668189c1fe' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ba6ea8a1-61db-4400-957e-1e89fc8c968c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.5366418} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"752a5760187975f42f39db6943983b56"},"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/e3de935e-bf8e-402e-a6c3-9cb98f2c882c' 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17c3b3c8-f257-456b-9acd-cb22939e7a96","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.5423229} 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":"752a5760187975f42f39db6943983b56"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"0b5dcee5-a041-490f-87e3-dbd11c6b2089","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.5525985} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d9e010d-f314-480f-8332-514095855c7a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.552754} 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":"752a5760187975f42f39db6943983b56"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.552576679Z"}]},"request_id":"19b8ea92-101c-4275-9021-bb7655e5b839","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.557679} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"752a5760187975f42f39db6943983b56"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"752a5760187975f42f39db6943983b56","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"752a5760187975f42f39db6943983b56"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e4fb65d236d3ad6d43a52b0bf6170e0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.769566,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840277,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3N30.BpmlmxtssVMkVKW5ciUAMicngCJL_29j-ZkybPfRKp0"} 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":"3e4fb65d236d3ad6d43a52b0bf6170e0"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f04b6311-d4c2-4748-bd63-2a5a63d04b34","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.5850308} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e4fb65d236d3ad6d43a52b0bf6170e0"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82828ba9-3765-494e-b0ca-f7f022b4e6a4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.5897202} 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":"3e4fb65d236d3ad6d43a52b0bf6170e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"591b8f79-dfc9-4641-a28e-5c965634fa57","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.6022308} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99197665-da67-4f29-a261-619f6fa88cb4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.6024451} 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":"3e4fb65d236d3ad6d43a52b0bf6170e0"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.602211851Z"}]},"request_id":"0fa4f84a-ea94-429d-b64e-3bcf5711d243","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840277.6067195} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e4fb65d236d3ad6d43a52b0bf6170e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"3e4fb65d236d3ad6d43a52b0bf6170e0","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e4fb65d236d3ad6d43a52b0bf6170e0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OH0.IMAoL7fAXPmJ5jdYnciw0GYjj22bEOKZkVbqxI5Nvaw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ee7eeb9d59f3f2898e5702b7b63c2cb","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:58Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.355101,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840278,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OH0.IMAoL7fAXPmJ5jdYnciw0GYjj22bEOKZkVbqxI5Nvaw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ee7eeb9d59f3f2898e5702b7b63c2cb"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.602211851Z"}]},"request_id":"dc2810a2-6aff-4b93-b057-1c2b5512198b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840278.10618} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ee7eeb9d59f3f2898e5702b7b63c2cb"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4278036-c7cd-430c-b334-8ff76bd58ea2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840278.1115596} 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":"5ee7eeb9d59f3f2898e5702b7b63c2cb"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.602211851Z"}]},"request_id":"fbdce5e8-047c-473c-b963-78789f62f3c4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840278.1312509} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ee7eeb9d59f3f2898e5702b7b63c2cb"},"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/03212ccf-fc40-4769-b203-8574391a145e 200 44ms","method":"PATCH","requestID":"5ee7eeb9d59f3f2898e5702b7b63c2cb","responseTime":44,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e"} gateway_1 | {"time_local":"11/Apr/2024:12:57:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/03212ccf-fc40-4769-b203-8574391a145e HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5ee7eeb9d59f3f2898e5702b7b63c2cb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OH0.IMAoL7fAXPmJ5jdYnciw0GYjj22bEOKZkVbqxI5Nvaw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dabb6209769eaed8cfa61c2dbe9174bc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:58Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.291232,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840278,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OH0.IMAoL7fAXPmJ5jdYnciw0GYjj22bEOKZkVbqxI5Nvaw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dabb6209769eaed8cfa61c2dbe9174bc"},"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/03212ccf-fc40-4769-b203-8574391a145e/websocket 200 22ms","method":"POST","requestID":"dabb6209769eaed8cfa61c2dbe9174bc","responseTime":22,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/03212ccf-fc40-4769-b203-8574391a145e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"dabb6209769eaed8cfa61c2dbe9174bc"} device_1 | {"level":"info","message":"device 'http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9d7b910226212b82aa1d55879607649d","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/websocket 200 1ms","method":"OPTIONS","requestID":"9d7b910226212b82aa1d55879607649d","responseTime":1,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/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":"9d7b910226212b82aa1d55879607649d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f06d3ecebe8087d5bcfbdaed1db54fbf","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.302713,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f06d3ecebe8087d5bcfbdaed1db54fbf"},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a/websocket 200 27ms","method":"POST","requestID":"f06d3ecebe8087d5bcfbdaed1db54fbf","responseTime":27,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:57:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/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":"f06d3ecebe8087d5bcfbdaed1db54fbf"} device_1 | {"level":"info","message":"device 'http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bfa24fd30d3f5f43cb31b813a8eb274f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.594661,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bfa24fd30d3f5f43cb31b813a8eb274f"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.552576679Z"}]},"request_id":"ca385be5-a4ae-4e0c-b5c3-c5fbcb18655d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.6859844} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bfa24fd30d3f5f43cb31b813a8eb274f"},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a? 200 17ms","method":"GET","requestID":"bfa24fd30d3f5f43cb31b813a8eb274f","responseTime":17,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a?"} gateway_1 | {"time_local":"11/Apr/2024:12:57:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfa24fd30d3f5f43cb31b813a8eb274f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa681208eeab77c7fc56588047d648a1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166469,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa681208eeab77c7fc56588047d648a1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.602211851Z"}]},"request_id":"898df3a7-c165-4ff6-a0a1-378c0e2bf0f2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.7113185} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa681208eeab77c7fc56588047d648a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03212ccf-fc40-4769-b203-8574391a145e? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa681208eeab77c7fc56588047d648a1"} device_1 | {"level":"info","message":"GET /devices/03212ccf-fc40-4769-b203-8574391a145e? 200 16ms","method":"GET","requestID":"fa681208eeab77c7fc56588047d648a1","responseTime":16,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a32dcac97c53095886a1c755ddf500e","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:53134","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.731661,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} 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":"0a32dcac97c53095886a1c755ddf500e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"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:53134","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129192,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fd5f510-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.322813,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fd61c20-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.552576679Z"}]},"request_id":"4c23cb26-9ca9-47a3-ad8c-dd2ce15c5328","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.7875767} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fd5f510-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.602211851Z"}]},"request_id":"0445f8ac-73cc-4b88-aa64-e5dfffd61542","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.788199} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fd61c20-f803-11ee-94dd-ef446cbc77bc"},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a? 200 16ms","method":"GET","requestID":"1fd5f510-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/03212ccf-fc40-4769-b203-8574391a145e? 200 16ms","method":"GET","requestID":"1fd61c20-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"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:53134","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148904,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} 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":"1fe18dd0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960673,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} 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":"1fe1dbf0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.552576679Z"}]},"request_id":"752ccb4b-dae3-4801-977b-5d082c9e1d0a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.8733835} 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":"1fe18dd0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.602211851Z"}]},"request_id":"239b5004-01ba-4801-89ee-6a89d377db0e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.8761306} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} 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":"1fe1dbf0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"138492c1-1675-460e-a06c-147bb490f9b5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.8795056} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.330746,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fe22a10-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":26}} device_1 | {"level":"info","message":"GET /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a? 200 34ms","method":"GET","requestID":"1fe18dd0-f803-11ee-94dd-ef446cbc77bc","responseTime":34,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F285324c0-5913-452c-a91e-6db6608b02c8#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F285324c0-5913-452c-a91e-6db6608b02c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"dbdbd95d-55a7-4fe0-b84b-15e56f92cbdd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.8842785} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"938baf20-2564-4efd-9fb9-3a85edeab65a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.8850353} device_1 | {"level":"info","message":"GET /devices/03212ccf-fc40-4769-b203-8574391a145e? 200 34ms","method":"GET","requestID":"1fe1dbf0-f803-11ee-94dd-ef446cbc77bc","responseTime":34,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e?"} 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":"0a32dcac97c53095886a1c755ddf500e"},"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 succeeded"} device_1 | {"level":"info","message":"POST /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling 200 39ms","method":"POST","requestID":"1fe22a10-f803-11ee-94dd-ef446cbc77bc","responseTime":39,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a696eb49-acc5-4ede-8dc2-af792f71dcc1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.8994126} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.297302,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","rebac_allow":false,"scope_allow":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":"1fe78140-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 181ms","method":"POST","requestID":"0a32dcac97c53095886a1c755ddf500e","responseTime":181,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a79da5fa-3106-431d-a13c-93ba1d481a20","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.9091566} gateway_1 | {"time_local":"11/Apr/2024:12:57:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a32dcac97c53095886a1c755ddf500e"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.658605,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling 200 16ms","method":"POST","requestID":"1fe78140-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fe8b9c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab132e6199badf8f67bbea90938b30ef","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ea62f64-9404-4947-8ced-39020c256d46","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.9171722} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/03212ccf-fc40-4769-b203-8574391a145e/signaling 200 19ms","method":"POST","requestID":"1fe8b9c0-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.630816,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","rebac_allow":false,"scope_allow":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":"1fea6770-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215748,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} 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":"ab132e6199badf8f67bbea90938b30ef"},"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/03212ccf-fc40-4769-b203-8574391a145e/signaling 200 17ms","method":"POST","requestID":"1fea6770-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"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":"1ec3025d-b15e-4f85-8176-734c509ae6dd"},{"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":"8f932f66-91b8-45d3-a1ba-982248a19bc2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9ed391d6-71ef-4586-a029-71dfc0f36048"}]},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a"},{"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/03212ccf-fc40-4769-b203-8574391a145e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.552576679Z"}]},"request_id":"c24ff7d2-94c2-48ad-9383-ffd7419536d3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.9305222} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab132e6199badf8f67bbea90938b30ef"},"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:53134","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.85112,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} gateway_1 | {"time_local":"11/Apr/2024:12:57:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab132e6199badf8f67bbea90938b30ef"} device_1 | {"level":"info","message":"GET /devices/5b829a6f-5339-48b1-8d17-007a93f54e2a? 200 19ms","method":"GET","requestID":"ab132e6199badf8f67bbea90938b30ef","responseTime":19,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a?"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} 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":"1fed9bc0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c05c53ffc3f3cdec37fb78b7aa6b0fa1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674314,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:57:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840279,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI3OX0.iY48267Sq3hzHvJ92ZdHPfan2GsLT6ptOyszMMpD_X4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c05c53ffc3f3cdec37fb78b7aa6b0fa1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"7864c4bc-c048-4a78-a418-64565d90060b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.9481256} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2cda485-e73b-4d47-b3d3-ec6d0467db61","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.9485052} 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":"1fed9bc0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:57:57.602211851Z"}]},"request_id":"ebe9d0d3-4153-4e8a-8669-92acdb4a017d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840279.9534698} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c05c53ffc3f3cdec37fb78b7aa6b0fa1"},"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/df20ddff-d304-4142-8c4f-fc918c594f25'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"1fed9bc0-f803-11ee-94dd-ef446cbc77bc","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:57:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03212ccf-fc40-4769-b203-8574391a145e? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c05c53ffc3f3cdec37fb78b7aa6b0fa1"} device_1 | {"level":"info","message":"GET /devices/03212ccf-fc40-4769-b203-8574391a145e? 200 24ms","method":"GET","requestID":"c05c53ffc3f3cdec37fb78b7aa6b0fa1","responseTime":24,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"df20ddff-d304-4142-8c4f-fc918c594f25","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0859ce4-54bc-46f5-95ae-921562d04816","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.0055778} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.403405,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ff82310-f803-11ee-94dd-ef446cbc77bc"},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling 200 10ms","method":"POST","requestID":"1ff82310-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85aa972d-5de0-40c2-abaf-0463f21ee223","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.0209622} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.840075,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ffa45f0-f803-11ee-94dd-ef446cbc77bc"},"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/03212ccf-fc40-4769-b203-8574391a145e/signaling 200 15ms","method":"POST","requestID":"1ffa45f0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"df20ddff-d304-4142-8c4f-fc918c594f25","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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/5b829a6f-5339-48b1-8d17-007a93f54e2a"},{"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/03212ccf-fc40-4769-b203-8574391a145e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7912c2c58441305d0341ac9a5b9cf2dc","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"7912c2c58441305d0341ac9a5b9cf2dc","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"7912c2c58441305d0341ac9a5b9cf2dc"} device_1 | {"data":{"peerconnection":"df20ddff-d304-4142-8c4f-fc918c594f25","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"df20ddff-d304-4142-8c4f-fc918c594f25","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/df20ddff-d304-4142-8c4f-fc918c594f25' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"df20ddff-d304-4142-8c4f-fc918c594f25","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"af5c2cf7ff1920bc02a31559101b2d1e","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/5b829a6f-5339-48b1-8d17-007a93f54e2a"},{"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/03212ccf-fc40-4769-b203-8574391a145e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdf20ddff-d304-4142-8c4f-fc918c594f25","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82228913-f46c-4a2c-b3b4-8d8b05a96e22","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.1038854} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.412802,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25","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":"20071730-f803-11ee-94dd-ef446cbc77bc"},"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/df20ddff-d304-4142-8c4f-fc918c594f25 200 10ms","method":"GET","requestID":"20071730-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"af5c2cf7ff1920bc02a31559101b2d1e","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"af5c2cf7ff1920bc02a31559101b2d1e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25b69318-3de3-47cb-ace6-4940ffe2d9d8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.1267276} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.208866,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","rebac_allow":false,"scope_allow":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":"200a99a0-f803-11ee-94dd-ef446cbc77bc"},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling 200 11ms","method":"POST","requestID":"200a99a0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04a85b7b-95dc-46cf-8277-cf8a7104fb76","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.1399837} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.883072,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"200c9570-f803-11ee-94dd-ef446cbc77bc"},"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/03212ccf-fc40-4769-b203-8574391a145e/signaling 200 11ms","method":"POST","requestID":"200c9570-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4a9f90dbab3ac820daf6cc926e2fa0f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/285324c0-5913-452c-a91e-6db6608b02c8"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.127836,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840280,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY"} 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":"a4a9f90dbab3ac820daf6cc926e2fa0f"},"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/285324c0-5913-452c-a91e-6db6608b02c8"} experiment_1 | {"level":"info","message":"GET /experiments/285324c0-5913-452c-a91e-6db6608b02c8 200 11ms","method":"GET","requestID":"a4a9f90dbab3ac820daf6cc926e2fa0f","responseTime":11,"status":200,"url":"/experiments/285324c0-5913-452c-a91e-6db6608b02c8"} gateway_1 | {"time_local":"11/Apr/2024:12:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/285324c0-5913-452c-a91e-6db6608b02c8 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4a9f90dbab3ac820daf6cc926e2fa0f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"37eeb960ca6a6bfa1c5cff2125f0f5c4","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/285324c0-5913-452c-a91e-6db6608b02c8"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.30586,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840280,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY"} 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":"37eeb960ca6a6bfa1c5cff2125f0f5c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.264933,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840280,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY"} 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":"201a2a00-f803-11ee-94dd-ef446cbc77bc"},"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/df20ddff-d304-4142-8c4f-fc918c594f25' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"df20ddff-d304-4142-8c4f-fc918c594f25","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3d9b21f345ad9a846410d0fc870fa8b","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a"},{"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/03212ccf-fc40-4769-b203-8574391a145e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a6b45f6e9ae93fc6611906336750181c","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/5b829a6f-5339-48b1-8d17-007a93f54e2a"},{"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/03212ccf-fc40-4769-b203-8574391a145e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdf20ddff-d304-4142-8c4f-fc918c594f25': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdf20ddff-d304-4142-8c4f-fc918c594f25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"8be96506-b511-481a-afb6-f801d87892b4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.2504675} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65684652-8c6a-41f3-b695-8356764087c5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.2509625} 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":"201a2a00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"df20ddff-d304-4142-8c4f-fc918c594f25","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/df20ddff-d304-4142-8c4f-fc918c594f25 204 61ms","method":"DELETE","requestID":"201a2a00-f803-11ee-94dd-ef446cbc77bc","responseTime":61,"status":204,"url":"/peerconnections/df20ddff-d304-4142-8c4f-fc918c594f25"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/285324c0-5913-452c-a91e-6db6608b02c8"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b829a6f-5339-48b1-8d17-007a93f54e2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b2c81a4-7e95-485c-8418-f0d0331df5aa","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.3127224} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.189898,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a","object_type":"device","rebac_allow":false,"scope_allow":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":"20268610-f803-11ee-94dd-ef446cbc77bc"},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling 200 14ms","method":"POST","requestID":"20268610-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/5b829a6f-5339-48b1-8d17-007a93f54e2a/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F285324c0-5913-452c-a91e-6db6608b02c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F285324c0-5913-452c-a91e-6db6608b02c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"2d14c0a6-fa94-452d-a8df-6c5effa43b36","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.3205357} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6dbfd79e-e358-4d27-81a3-74bc3afea43a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.3209229} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37eeb960ca6a6bfa1c5cff2125f0f5c4"},"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:53134","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03212ccf-fc40-4769-b203-8574391a145e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b06e2cda-473f-4979-b208-831f3fcda83a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.3267004} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.581324,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e","object_type":"device","rebac_allow":false,"scope_allow":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":"2028f710-f803-11ee-94dd-ef446cbc77bc"},"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/03212ccf-fc40-4769-b203-8574391a145e/signaling 200 11ms","method":"POST","requestID":"2028f710-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/03212ccf-fc40-4769-b203-8574391a145e/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/285324c0-5913-452c-a91e-6db6608b02c8"} gateway_1 | {"time_local":"11/Apr/2024:12:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/285324c0-5913-452c-a91e-6db6608b02c8 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":"37eeb960ca6a6bfa1c5cff2125f0f5c4"} gateway_1 | {"time_local":"11/Apr/2024:12:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2116","request_time":"2.219","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"02371cfd3d038759ae06d21c6f885e0f"} experiment_1 | {"level":"info","message":"DELETE /experiments/285324c0-5913-452c-a91e-6db6608b02c8 204 177ms","method":"DELETE","requestID":"37eeb960ca6a6bfa1c5cff2125f0f5c4","responseTime":177,"status":204,"url":"/experiments/285324c0-5913-452c-a91e-6db6608b02c8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"e3d9b21f345ad9a846410d0fc870fa8b","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"e3d9b21f345ad9a846410d0fc870fa8b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"a6b45f6e9ae93fc6611906336750181c","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6b45f6e9ae93fc6611906336750181c"} gateway_1 | {"time_local":"11/Apr/2024:12:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.741","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1b18fc85dc365286a6402a730e364a4a"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/03212ccf-fc40-4769-b203-8574391a145e' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"826f0d9e9401af5baf31bdec3bb458be","responseTime":9,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.933868,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840280,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY"} 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":"826f0d9e9401af5baf31bdec3bb458be"},"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/5b829a6f-5339-48b1-8d17-007a93f54e2a' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"484e218e-9441-4485-b5b5-ef732214c588","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4216168} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"826f0d9e9401af5baf31bdec3bb458be"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0893ad2a-b52b-45ff-8a58-6aa58a86777c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4266548} 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":"826f0d9e9401af5baf31bdec3bb458be"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"35fbf504-562d-412c-aed4-0d90688da1a9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4359643} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdb10da4-937e-475a-84d0-a659c1786708","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4363186} 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":"826f0d9e9401af5baf31bdec3bb458be"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.435940801Z"}]},"request_id":"3d88105f-8129-43bc-bce9-597bf17dceb4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4407856} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"826f0d9e9401af5baf31bdec3bb458be"},"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":"826f0d9e9401af5baf31bdec3bb458be","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"826f0d9e9401af5baf31bdec3bb458be"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ebdff6d9115a35a8e174643ee2f890e","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.692969,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840280,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY"} 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":"7ebdff6d9115a35a8e174643ee2f890e"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b9baf6cc-8cff-4f17-92d0-5286807ec998","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4641635} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ebdff6d9115a35a8e174643ee2f890e"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbf9a6be-ab65-49bd-8b2e-e83fb91f7aa1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4691522} 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":"7ebdff6d9115a35a8e174643ee2f890e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"89c8d407-cbd4-4be7-89ee-c2092c0c22bf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.479989} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca963555-d40e-43e4-9a61-c58ee86400ac","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4801393} 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":"7ebdff6d9115a35a8e174643ee2f890e"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.479969175Z"}]},"request_id":"b6e9377f-f656-42ac-b692-30f5a3b4dd50","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.4844368} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ebdff6d9115a35a8e174643ee2f890e"},"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":"7ebdff6d9115a35a8e174643ee2f890e","responseTime":37,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ebdff6d9115a35a8e174643ee2f890e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"044ed4262f0277a318fe4206f28c8133","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397054,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840280,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MH0.5nGe2tnONaJRfKfm86-yQzGMD3CYd0EXkjsnkfl9mmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"044ed4262f0277a318fe4206f28c8133"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.435940801Z"}]},"request_id":"8f7a9fff-9d77-460c-9668-4c470a9ab9ac","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.9656177} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"044ed4262f0277a318fe4206f28c8133"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1898511e-5a9d-4590-bbcc-9b027f0417b7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.972092} 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":"044ed4262f0277a318fe4206f28c8133"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.435940801Z"}]},"request_id":"0bae7e64-8a0d-4629-88a0-561387091ffd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840280.9927223} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"044ed4262f0277a318fe4206f28c8133"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f446f794-664a-4958-9dce-af8987262b93 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"044ed4262f0277a318fe4206f28c8133"} device_1 | {"level":"info","message":"PATCH /devices/f446f794-664a-4958-9dce-af8987262b93 200 45ms","method":"PATCH","requestID":"044ed4262f0277a318fe4206f28c8133","responseTime":45,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MX0.OfKFB3HFT4TjfHZQ0wL8SF8kfT7f6Qgdvd37ZmH5vjQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"39fab41e6d0f5c5140cc51d17512ac10","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:01Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795225,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:01Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840281,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4MX0.OfKFB3HFT4TjfHZQ0wL8SF8kfT7f6Qgdvd37ZmH5vjQ"} 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":"39fab41e6d0f5c5140cc51d17512ac10"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/f446f794-664a-4958-9dce-af8987262b93/websocket 200 16ms","method":"POST","requestID":"39fab41e6d0f5c5140cc51d17512ac10","responseTime":16,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f446f794-664a-4958-9dce-af8987262b93/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"39fab41e6d0f5c5140cc51d17512ac10"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"972a20d8db9f36851fe223558b6be281","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/websocket 200 1ms","method":"OPTIONS","requestID":"972a20d8db9f36851fe223558b6be281","responseTime":1,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/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":"972a20d8db9f36851fe223558b6be281"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15400a165a9463f0d130c0c6657a0b0e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106505,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15400a165a9463f0d130c0c6657a0b0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"15400a165a9463f0d130c0c6657a0b0e"} device_1 | {"level":"info","message":"POST /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/websocket 200 28ms","method":"POST","requestID":"15400a165a9463f0d130c0c6657a0b0e","responseTime":28,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f1943ad0604afa63fb3b5098ce296dd1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.979255,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1943ad0604afa63fb3b5098ce296dd1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.435940801Z"}]},"request_id":"6408b546-0b78-4935-94ce-0b095e126a5c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.5775762} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1943ad0604afa63fb3b5098ce296dd1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f446f794-664a-4958-9dce-af8987262b93? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1943ad0604afa63fb3b5098ce296dd1"} device_1 | {"level":"info","message":"GET /devices/f446f794-664a-4958-9dce-af8987262b93? 200 19ms","method":"GET","requestID":"f1943ad0604afa63fb3b5098ce296dd1","responseTime":19,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3dbd1decc31d1b13abffb60c8f49c0c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141704,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3dbd1decc31d1b13abffb60c8f49c0c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.479969175Z"}]},"request_id":"be566a7b-1af8-4ea8-a7ce-b1af62fffe5f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.6052048} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3dbd1decc31d1b13abffb60c8f49c0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3dbd1decc31d1b13abffb60c8f49c0c"} device_1 | {"level":"info","message":"GET /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0? 200 18ms","method":"GET","requestID":"e3dbd1decc31d1b13abffb60c8f49c0c","responseTime":18,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d5c9b56f6c08a0d49cdde00910854963","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:53134","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.210327,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} 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":"d5c9b56f6c08a0d49cdde00910854963"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"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:53134","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178593,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21911290-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962378,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"219160b0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.435940801Z"}]},"request_id":"02da21e9-0822-4385-b362-1c11157905ec","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.693702} 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":"21911290-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.479969175Z"}]},"request_id":"51bef414-6e31-48cf-b3f1-f29da3402ebf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.6959856} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"219160b0-f803-11ee-94dd-ef446cbc77bc"},"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/f446f794-664a-4958-9dce-af8987262b93? 200 23ms","method":"GET","requestID":"21911290-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0? 200 23ms","method":"GET","requestID":"219160b0-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"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:53134","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.7134,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} 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":"21a2ece0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.368874,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} 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":"21a33b00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a54c2cb-9a30-4017-be2d-27def81b5003","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8110015} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.386964,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","rebac_allow":false,"scope_allow":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":"21a38920-f803-11ee-94dd-ef446cbc77bc"},"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/f446f794-664a-4958-9dce-af8987262b93/signaling 200 19ms","method":"POST","requestID":"21a38920-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93/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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.435940801Z"}]},"request_id":"820b5f73-3f01-47bb-908b-7f9d26858135","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8226702} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21a2ece0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.479969175Z"}]},"request_id":"378425fd-dfc7-4df5-a260-8ab0da69a0e8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8246763} 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":"21a33b00-f803-11ee-94dd-ef446cbc77bc"},"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:53134","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f446f794-664a-4958-9dce-af8987262b93? 200 36ms","method":"GET","requestID":"21a2ece0-f803-11ee-94dd-ef446cbc77bc","responseTime":36,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cff667b3-5789-4bdd-a5e1-4940f68af8d4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8336217} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0? 200 35ms","method":"GET","requestID":"21a33b00-f803-11ee-94dd-ef446cbc77bc","responseTime":35,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.589736,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","rebac_allow":false,"scope_allow":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":"21a70b90-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F928e2720-538e-427c-9e6a-b1855279565a#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F928e2720-538e-427c-9e6a-b1855279565a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"a3330e7e-7146-4c89-b6c8-9508a9ce9811","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.836756} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5164891-05e7-40dd-8931-7540ae63c3bb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8376043} 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":"d5c9b56f6c08a0d49cdde00910854963"},"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling 200 18ms","method":"POST","requestID":"21a70b90-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f8eb3de-44dc-4fe4-b764-de3b3ae388cc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8451023} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.328487,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21a90760-f803-11ee-94dd-ef446cbc77bc"},"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/f446f794-664a-4958-9dce-af8987262b93/signaling 200 13ms","method":"POST","requestID":"21a90760-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93/signaling"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 231ms","method":"POST","requestID":"d5c9b56f6c08a0d49cdde00910854963","responseTime":231,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.241","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5c9b56f6c08a0d49cdde00910854963"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1101778863519b236742c766204dbb48","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee95004b-a75e-498e-b9dd-48620c0fb28f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8606322} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.916106,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21abc680-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026257,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1101778863519b236742c766204dbb48"},"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling 200 13ms","method":"POST","requestID":"21abc680-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"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":"cdaad6f8-fece-4b2e-b8d8-91a92a6e2acb"},{"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":"db9d9e74-540d-4ad6-99bc-1f1526a61608"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"52065529-4c25-4057-a1ed-77e0cd96c6a1"}]},"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/f446f794-664a-4958-9dce-af8987262b93"},{"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.435940801Z"}]},"request_id":"c889e247-4e9e-43e6-bd6f-89cfb9870108","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.869384} 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":"1101778863519b236742c766204dbb48"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.969503,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f446f794-664a-4958-9dce-af8987262b93? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1101778863519b236742c766204dbb48"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} device_1 | {"level":"info","message":"GET /devices/f446f794-664a-4958-9dce-af8987262b93? 200 19ms","method":"GET","requestID":"1101778863519b236742c766204dbb48","responseTime":19,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93?"} 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":"21ae5e90-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"76f233ff62ce3d2d8bb3f0a6df6a3fe4","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"9deca80b-de93-4bac-ac05-7c26a8155a46","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8878775} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"531dca75-fa81-4912-a831-dcb59b913de4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8881311} 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":"21ae5e90-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.001498,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840282,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Mn0.jvJmPhJyQNZldNMxrlkBjCa9O8EXyBa-htFFzo0FQYU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76f233ff62ce3d2d8bb3f0a6df6a3fe4"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:00.479969175Z"}]},"request_id":"fe1e7dbb-bb91-49cd-ab47-793150c65101","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.8958127} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76f233ff62ce3d2d8bb3f0a6df6a3fe4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c'"} 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":"21ae5e90-f803-11ee-94dd-ef446cbc77bc","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"} device_1 | {"level":"info","message":"GET /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0? 200 28ms","method":"GET","requestID":"76f233ff62ce3d2d8bb3f0a6df6a3fe4","responseTime":28,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76f233ff62ce3d2d8bb3f0a6df6a3fe4"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46733741-7c22-46a9-b6a6-e8ae20d46d45","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.9469259} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.697006,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21b8e5e0-f803-11ee-94dd-ef446cbc77bc"},"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/f446f794-664a-4958-9dce-af8987262b93/signaling 200 9ms","method":"POST","requestID":"21b8e5e0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"891bc084-5e7c-4526-9ede-ca336dfeb77a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840282.9581046} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.062589,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","rebac_allow":false,"scope_allow":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":"21ba9390-f803-11ee-94dd-ef446cbc77bc"},"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling 200 9ms","method":"POST","requestID":"21ba9390-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling"} device_1 | {"data":{"peerconnection":"768a49a1-e570-478b-a803-d2939daf492c","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/768a49a1-e570-478b-a803-d2939daf492c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"768a49a1-e570-478b-a803-d2939daf492c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f23907e7efa21b4421a812f862273632","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93"},{"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"f23907e7efa21b4421a812f862273632","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"f23907e7efa21b4421a812f862273632"} device_1 | {"data":{"peerconnection":"768a49a1-e570-478b-a803-d2939daf492c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"768a49a1-e570-478b-a803-d2939daf492c","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/768a49a1-e570-478b-a803-d2939daf492c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"768a49a1-e570-478b-a803-d2939daf492c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9ed3924c53c1d1ea2a029eb945ebce7a","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/f446f794-664a-4958-9dce-af8987262b93"},{"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F768a49a1-e570-478b-a803-d2939daf492c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27ff1ddc-0f82-45f4-a5ae-50771ddf45af","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.032805} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.145808,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c","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":"225e2690-f803-11ee-94dd-ef446cbc77bc"},"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/768a49a1-e570-478b-a803-d2939daf492c 200 15ms","method":"GET","requestID":"225e2690-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/peerconnections/768a49a1-e570-478b-a803-d2939daf492c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"9ed3924c53c1d1ea2a029eb945ebce7a","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ed3924c53c1d1ea2a029eb945ebce7a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81aa4792-02df-4108-ad68-a89c5fb8e590","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.0725803} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.950276,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","rebac_allow":false,"scope_allow":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":"22644110-f803-11ee-94dd-ef446cbc77bc"},"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/f446f794-664a-4958-9dce-af8987262b93/signaling 200 15ms","method":"POST","requestID":"22644110-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50a85ce0-40f4-4702-bbc2-af63774090c2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.0918303} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.564873,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","rebac_allow":false,"scope_allow":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":"22672740-f803-11ee-94dd-ef446cbc77bc"},"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling 200 17ms","method":"POST","requestID":"22672740-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c001a270bb6d59b6412e2f4e31ef6ff1","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/928e2720-538e-427c-9e6a-b1855279565a"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.122225,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840284,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0"} 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":"c001a270bb6d59b6412e2f4e31ef6ff1"},"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/928e2720-538e-427c-9e6a-b1855279565a"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/928e2720-538e-427c-9e6a-b1855279565a HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c001a270bb6d59b6412e2f4e31ef6ff1"} experiment_1 | {"level":"info","message":"GET /experiments/928e2720-538e-427c-9e6a-b1855279565a 200 20ms","method":"GET","requestID":"c001a270bb6d59b6412e2f4e31ef6ff1","responseTime":20,"status":200,"url":"/experiments/928e2720-538e-427c-9e6a-b1855279565a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"32ed456a6d0944aa5db4eec554d7c301","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/928e2720-538e-427c-9e6a-b1855279565a"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.069848,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840284,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0"} 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":"32ed456a6d0944aa5db4eec554d7c301"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.211752,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840284,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0"} 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":"22711250-f803-11ee-94dd-ef446cbc77bc"},"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/768a49a1-e570-478b-a803-d2939daf492c' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"768a49a1-e570-478b-a803-d2939daf492c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F768a49a1-e570-478b-a803-d2939daf492c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F768a49a1-e570-478b-a803-d2939daf492c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"2d245365-e00e-469f-904d-efd2aedde6c7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.1689136} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5930062f-f945-4bd5-8b9f-ff8fe0201067","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.169596} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5260489098fd3d1d48c55db25cac6b29","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93"},{"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a9a4aef683925f1c34cd2442ce7e1d8b","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":"22711250-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/f446f794-664a-4958-9dce-af8987262b93"},{"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/768a49a1-e570-478b-a803-d2939daf492c"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"768a49a1-e570-478b-a803-d2939daf492c","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/768a49a1-e570-478b-a803-d2939daf492c 204 58ms","method":"DELETE","requestID":"22711250-f803-11ee-94dd-ef446cbc77bc","responseTime":58,"status":204,"url":"/peerconnections/768a49a1-e570-478b-a803-d2939daf492c"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/928e2720-538e-427c-9e6a-b1855279565a"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff446f794-664a-4958-9dce-af8987262b93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34ed00f5-a1c1-47a8-9dda-7e8a4c3d70c8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.2389932} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.22353,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93","object_type":"device","rebac_allow":false,"scope_allow":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":"227de390-f803-11ee-94dd-ef446cbc77bc"},"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/f446f794-664a-4958-9dce-af8987262b93/signaling 200 14ms","method":"POST","requestID":"227de390-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/f446f794-664a-4958-9dce-af8987262b93/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F928e2720-538e-427c-9e6a-b1855279565a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F928e2720-538e-427c-9e6a-b1855279565a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"34b50656-fb89-491c-8c94-0d9fa4cd27d7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.2491298} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bb37426-4bf3-421e-91c8-8cffed638593","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.249465} 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":"32ed456a6d0944aa5db4eec554d7c301"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09e03547-b6ed-497d-a7c4-0f5480e0a7e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af6e411c-fa12-4f5f-a774-8c78a86462e0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.2582579} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.184403,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0","object_type":"device","rebac_allow":false,"scope_allow":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":"2280a2b0-f803-11ee-94dd-ef446cbc77bc"},"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling 200 12ms","method":"POST","requestID":"2280a2b0-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/09e03547-b6ed-497d-a7c4-0f5480e0a7e0/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/928e2720-538e-427c-9e6a-b1855279565a"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/928e2720-538e-427c-9e6a-b1855279565a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32ed456a6d0944aa5db4eec554d7c301"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2435","request_time":"3.297","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fca9d60f09e6697b887508ee9132feb9"} experiment_1 | {"level":"info","message":"DELETE /experiments/928e2720-538e-427c-9e6a-b1855279565a 204 184ms","method":"DELETE","requestID":"32ed456a6d0944aa5db4eec554d7c301","responseTime":184,"status":204,"url":"/experiments/928e2720-538e-427c-9e6a-b1855279565a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"5260489098fd3d1d48c55db25cac6b29","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"5260489098fd3d1d48c55db25cac6b29"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0","level":"info","message":"auth send jwt"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"a9a4aef683925f1c34cd2442ce7e1d8b","responseTime":150,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e9f26dd54aef32e48371c506b70c4774","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9a4aef683925f1c34cd2442ce7e1d8b"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2194","request_time":"1.786","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b2aefaf0df36310af69d6b5f2c0cb33c"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f446f794-664a-4958-9dce-af8987262b93' closed"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956092,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840284,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0"} 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":"e9f26dd54aef32e48371c506b70c4774"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9ffff4ca-68c3-488b-80bf-2941d61f55f6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.3441925} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9f26dd54aef32e48371c506b70c4774"},"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/09e03547-b6ed-497d-a7c4-0f5480e0a7e0' 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"415e45f0-38e1-431a-85a7-e7beef920a98","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.349869} 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":"e9f26dd54aef32e48371c506b70c4774"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"734bd5fc-e3bc-4793-b6e1-90cf25e063bf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.3607185} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c761dd2-89bc-43a3-ac0b-4f0e081f16ba","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.3608322} 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":"e9f26dd54aef32e48371c506b70c4774"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.360689826Z"}]},"request_id":"7e055ce8-19eb-4ed5-a180-d6c6c7feb595","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.3658018} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9f26dd54aef32e48371c506b70c4774"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"e9f26dd54aef32e48371c506b70c4774","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9f26dd54aef32e48371c506b70c4774"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d873441825b311a9b4f5d1db750f3391","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.955591,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840284,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0"} 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":"d873441825b311a9b4f5d1db750f3391"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d04400cc-82d2-4e60-ae47-7cf034d938a6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.3937228} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d873441825b311a9b4f5d1db750f3391"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d186ecb2-aae0-4144-a2ef-03e89c44d9b8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.3985567} 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":"d873441825b311a9b4f5d1db750f3391"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"a3793007-1c3e-4feb-90b4-2c66022ffb5e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.4074686} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"904aa22c-b68c-42b4-a163-025bbb1a98ae","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.4075558} 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":"d873441825b311a9b4f5d1db750f3391"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.407449814Z"}]},"request_id":"948926f4-47ab-4d9f-a611-15a5e58f4b71","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.4122233} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d873441825b311a9b4f5d1db750f3391"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"d873441825b311a9b4f5d1db750f3391","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d873441825b311a9b4f5d1db750f3391"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2de403cfd88385302e83a0e606e38d2a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.092359,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840284,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0"} 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":"2de403cfd88385302e83a0e606e38d2a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.360689826Z"}]},"request_id":"d45462ed-4d77-4016-853e-15dde35fb24d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.895852} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de403cfd88385302e83a0e606e38d2a"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9df4784a-0def-41b8-ba75-f2f3d8101e34","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.9020257} 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":"2de403cfd88385302e83a0e606e38d2a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.360689826Z"}]},"request_id":"df4cb0bb-4aad-4f3f-9fa7-13599a949a6b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840284.9318626} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de403cfd88385302e83a0e606e38d2a"},"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/353deede-685f-4354-b85c-39231cff5a13 200 51ms","method":"PATCH","requestID":"2de403cfd88385302e83a0e606e38d2a","responseTime":51,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/353deede-685f-4354-b85c-39231cff5a13 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2de403cfd88385302e83a0e606e38d2a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f31aa92530e30f1950c5e348c825e1b7","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204378,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840284,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4NH0.yeVe6_e20W8KdvAzspvCWrqJ-y8k59_zqUZ-k7rvrX0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f31aa92530e30f1950c5e348c825e1b7"},"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/353deede-685f-4354-b85c-39231cff5a13/websocket 200 21ms","method":"POST","requestID":"f31aa92530e30f1950c5e348c825e1b7","responseTime":21,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/353deede-685f-4354-b85c-39231cff5a13/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f31aa92530e30f1950c5e348c825e1b7"} device_1 | {"level":"info","message":"device 'http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5fee209ef3eb88dd1e971878e993546d","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/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":"5fee209ef3eb88dd1e971878e993546d"} device_1 | {"level":"info","message":"OPTIONS /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/websocket 200 1ms","method":"OPTIONS","requestID":"5fee209ef3eb88dd1e971878e993546d","responseTime":1,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"60bf002411d93a46cda2ae49996d8291","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189501,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60bf002411d93a46cda2ae49996d8291"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"60bf002411d93a46cda2ae49996d8291"} device_1 | {"level":"info","message":"POST /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/websocket 200 47ms","method":"POST","requestID":"60bf002411d93a46cda2ae49996d8291","responseTime":47,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"56ec4d238285d8e969ed5f69a0269e36","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.090867,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56ec4d238285d8e969ed5f69a0269e36"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.360689826Z"}]},"request_id":"d65e5278-404e-4f49-b678-0d4a5ace79ce","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.5234914} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56ec4d238285d8e969ed5f69a0269e36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/353deede-685f-4354-b85c-39231cff5a13? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56ec4d238285d8e969ed5f69a0269e36"} device_1 | {"level":"info","message":"GET /devices/353deede-685f-4354-b85c-39231cff5a13? 200 21ms","method":"GET","requestID":"56ec4d238285d8e969ed5f69a0269e36","responseTime":21,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a23b1647b09a93066590321fdb72ea98","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857534,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a23b1647b09a93066590321fdb72ea98"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.407449814Z"}]},"request_id":"a2e9dcbc-5956-4eda-acb7-58cff970c4cd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.5482492} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a23b1647b09a93066590321fdb72ea98"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a23b1647b09a93066590321fdb72ea98"} device_1 | {"level":"info","message":"GET /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9? 200 18ms","method":"GET","requestID":"a23b1647b09a93066590321fdb72ea98","responseTime":18,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42c7cf3986f18945cc8248bced0ca954","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:53134","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.111785,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} 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":"42c7cf3986f18945cc8248bced0ca954"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"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:53134","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.072494,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23ea1dc0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.766481,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23ea6be0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.360689826Z"}]},"request_id":"0807a562-7197-4b44-a87b-b5eb03cbb0dd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.6321976} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23ea1dc0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.407449814Z"}]},"request_id":"01019895-c371-4c32-9d89-91e908d29481","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.63379} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23ea6be0-f803-11ee-94dd-ef446cbc77bc"},"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/353deede-685f-4354-b85c-39231cff5a13? 200 22ms","method":"GET","requestID":"23ea1dc0-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9? 200 21ms","method":"GET","requestID":"23ea6be0-f803-11ee-94dd-ef446cbc77bc","responseTime":21,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"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:53134","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144904,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} 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":"23f76430-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.234612,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} 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":"23f7b250-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51582187-2220-439b-b069-fbd59fa58765","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.723552} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.936989,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","rebac_allow":false,"scope_allow":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":"23f82780-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.360689826Z"}]},"request_id":"c82f20be-a829-448a-908a-34a5c25f3ec0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.7272093} 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":"23f76430-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.407449814Z"}]},"request_id":"47aeecf9-aa91-4985-bdaf-fb8ae3d43cf4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.732423} 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":"23f7b250-f803-11ee-94dd-ef446cbc77bc"},"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/353deede-685f-4354-b85c-39231cff5a13/signaling 200 27ms","method":"POST","requestID":"23f82780-f803-11ee-94dd-ef446cbc77bc","responseTime":27,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"9a473cde-4093-4491-8dcf-89012d7d3640","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.7398932} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"153f6c52-ee0e-4364-9b49-a725a9b5dc25","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.7402508} 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":"42c7cf3986f18945cc8248bced0ca954"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} device_1 | {"level":"info","message":"GET /devices/353deede-685f-4354-b85c-39231cff5a13? 200 42ms","method":"GET","requestID":"23f76430-f803-11ee-94dd-ef446cbc77bc","responseTime":42,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9? 200 42ms","method":"GET","requestID":"23f7b250-f803-11ee-94dd-ef446cbc77bc","responseTime":42,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f616853-9c9d-4dab-92b6-e521a8db5478","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.7520897} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.128302,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","rebac_allow":false,"scope_allow":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":"23fd3090-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /experiments? 201 199ms","method":"POST","requestID":"42c7cf3986f18945cc8248bced0ca954","responseTime":199,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling 200 17ms","method":"POST","requestID":"23fd3090-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42c7cf3986f18945cc8248bced0ca954"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a65e55d5-25e1-437b-8d7b-2f851ce58613","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.766267} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.517431,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b48bda24a4ae17ce480627c4e66c8bc","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23ff5370-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.041623,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/353deede-685f-4354-b85c-39231cff5a13/signaling 200 14ms","method":"POST","requestID":"23ff5370-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b48bda24a4ae17ce480627c4e66c8bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.360689826Z"}]},"request_id":"ce9ed2da-c466-4001-9acc-d108889e181d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.7800317} 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":"1b48bda24a4ae17ce480627c4e66c8bc"},"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:53134","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20f0892a-45e6-4337-af99-02e386b95b1c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.7835727} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.908515,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","rebac_allow":false,"scope_allow":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":"24021290-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/353deede-685f-4354-b85c-39231cff5a13? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b48bda24a4ae17ce480627c4e66c8bc"} device_1 | {"level":"info","message":"GET /devices/353deede-685f-4354-b85c-39231cff5a13? 200 19ms","method":"GET","requestID":"1b48bda24a4ae17ce480627c4e66c8bc","responseTime":19,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling 200 13ms","method":"POST","requestID":"24021290-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"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":"7ec9e026-0d07-41e2-9101-bef32e048c14"},{"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":"0ba72169-7e87-4f7a-8fd2-a0e5ee777f45"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"81692e96-9155-44a4-9b49-2e8cb0e2a623"}]},"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/f54a44ae-b882-4abf-a768-11ae8c4a3bd9"},{"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/353deede-685f-4354-b85c-39231cff5a13"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aee5c4d198c6783a73bb2863c3a408ee","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.609901,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} 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":"2404aaa0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88186,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840286,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4Nn0.oXh3w-DQcbHL8UHwaUBYT_YcnLSkNWsCvNkTiUcQbTU"} 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":"aee5c4d198c6783a73bb2863c3a408ee"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:04.407449814Z"}]},"request_id":"05850069-ba8a-41b7-a3f4-a0e445684ea6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.8058257} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aee5c4d198c6783a73bb2863c3a408ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aee5c4d198c6783a73bb2863c3a408ee"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"cc03115e-e7c2-486f-adc7-40d21e1c8346","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.809958} device_1 | {"level":"info","message":"GET /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9? 200 15ms","method":"GET","requestID":"aee5c4d198c6783a73bb2863c3a408ee","responseTime":15,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebf76192-28d4-41cd-ba50-e52ae9aa7c1d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.8107967} 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":"2404aaa0-f803-11ee-94dd-ef446cbc77bc"},"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/a1a7acb7-15c9-48aa-9971-14cae961ac26'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"2404aaa0-f803-11ee-94dd-ef446cbc77bc","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"a1a7acb7-15c9-48aa-9971-14cae961ac26","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34e18cc9-8aab-476f-9423-0b478f3c4448","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.882265} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.296105,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"241154d0-f803-11ee-94dd-ef446cbc77bc"},"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/353deede-685f-4354-b85c-39231cff5a13/signaling 200 10ms","method":"POST","requestID":"241154d0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76c51d1d-34b2-4ce9-989e-8e4301213a33","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.8939795} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.473527,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24132990-f803-11ee-94dd-ef446cbc77bc"},"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/a1a7acb7-15c9-48aa-9971-14cae961ac26' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a1a7acb7-15c9-48aa-9971-14cae961ac26","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling 200 14ms","method":"POST","requestID":"24132990-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6ddb4a914c7650d8061bab61628d78cd","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9"},{"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/353deede-685f-4354-b85c-39231cff5a13"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"6ddb4a914c7650d8061bab61628d78cd","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ddb4a914c7650d8061bab61628d78cd"} device_1 | {"data":{"peerconnection":"a1a7acb7-15c9-48aa-9971-14cae961ac26","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"a1a7acb7-15c9-48aa-9971-14cae961ac26","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/a1a7acb7-15c9-48aa-9971-14cae961ac26' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a1a7acb7-15c9-48aa-9971-14cae961ac26","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"9cc987029edea212368f86c5437374ae","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/f54a44ae-b882-4abf-a768-11ae8c4a3bd9"},{"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/353deede-685f-4354-b85c-39231cff5a13"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a7acb7-15c9-48aa-9971-14cae961ac26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee84543e-08cd-405f-950a-031eda113568","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.9613886} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.657586,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26","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":"241d62c0-f803-11ee-94dd-ef446cbc77bc"},"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/a1a7acb7-15c9-48aa-9971-14cae961ac26 200 9ms","method":"GET","requestID":"241d62c0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"9cc987029edea212368f86c5437374ae","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"9cc987029edea212368f86c5437374ae"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdbf4c55-0a88-471f-9b6c-7a22ea7747e9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.984667} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.313452,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24210c40-f803-11ee-94dd-ef446cbc77bc"},"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/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling 200 9ms","method":"POST","requestID":"24210c40-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f9462e7-0f71-48f5-9872-f2e0e11ba097","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840286.995564} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.949289,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:06Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2422b9f0-f803-11ee-94dd-ef446cbc77bc"},"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/353deede-685f-4354-b85c-39231cff5a13/signaling 200 9ms","method":"POST","requestID":"2422b9f0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b30553aa3fccaf0ee02c5fad9e6a3fec","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.93418,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"b30553aa3fccaf0ee02c5fad9e6a3fec"},"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/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b 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":"b30553aa3fccaf0ee02c5fad9e6a3fec"} experiment_1 | {"level":"info","message":"GET /experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b 200 14ms","method":"GET","requestID":"b30553aa3fccaf0ee02c5fad9e6a3fec","responseTime":14,"status":200,"url":"/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"450ef9426c8e7dd847acf152caa1f362","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.050302,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"450ef9426c8e7dd847acf152caa1f362"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.043409,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"243138e0-f803-11ee-94dd-ef446cbc77bc"},"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/a1a7acb7-15c9-48aa-9971-14cae961ac26' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a1a7acb7-15c9-48aa-9971-14cae961ac26","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8b9d1054b5e53d36ff718dd09849e843","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a7acb7-15c9-48aa-9971-14cae961ac26': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa1a7acb7-15c9-48aa-9971-14cae961ac26","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"88d825ed-9563-4302-962a-8121cf495015","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.1120405} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0711887-6684-4416-8fe5-88b75f4db9a5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.112287} 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/f54a44ae-b882-4abf-a768-11ae8c4a3bd9"},{"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/353deede-685f-4354-b85c-39231cff5a13"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 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":"243138e0-f803-11ee-94dd-ef446cbc77bc"},"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 1ms","method":"GET","requestID":"b4d6e9feb148729aa1bdf01a7ddb67b6","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9"},{"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/353deede-685f-4354-b85c-39231cff5a13"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"a1a7acb7-15c9-48aa-9971-14cae961ac26","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/a1a7acb7-15c9-48aa-9971-14cae961ac26 204 56ms","method":"DELETE","requestID":"243138e0-f803-11ee-94dd-ef446cbc77bc","responseTime":56,"status":204,"url":"/peerconnections/a1a7acb7-15c9-48aa-9971-14cae961ac26"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff54a44ae-b882-4abf-a768-11ae8c4a3bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32348cfc-983b-413d-8d43-c85258364ba6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.1768138} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.539542,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9","object_type":"device","rebac_allow":false,"scope_allow":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":"243de310-f803-11ee-94dd-ef446cbc77bc"},"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/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling 200 17ms","method":"POST","requestID":"243de310-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"67393fa9-ccfa-471f-a4c1-de519d43e9fd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.1883404} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7729f97-3e54-4216-8c7d-fe39384aea9f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.1885967} 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":"450ef9426c8e7dd847acf152caa1f362"},"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:53134","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F353deede-685f-4354-b85c-39231cff5a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1e13489-30df-4287-b2ae-1f1ddb3c3034","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.197806} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.752942,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/353deede-685f-4354-b85c-39231cff5a13","object_type":"device","rebac_allow":false,"scope_allow":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":"24411760-f803-11ee-94dd-ef446cbc77bc"},"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/353deede-685f-4354-b85c-39231cff5a13/signaling 200 16ms","method":"POST","requestID":"24411760-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/353deede-685f-4354-b85c-39231cff5a13/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"450ef9426c8e7dd847acf152caa1f362"} experiment_1 | {"level":"info","message":"DELETE /experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b 204 187ms","method":"DELETE","requestID":"450ef9426c8e7dd847acf152caa1f362","responseTime":187,"status":204,"url":"/experiments/bf8ad9c3-5a65-4ca0-908d-3a3cc1efa10b"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2119","request_time":"2.293","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6383b95f8a512dbde8dd7d008c7f94af"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"8b9d1054b5e53d36ff718dd09849e843","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b9d1054b5e53d36ff718dd09849e843"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"b4d6e9feb148729aa1bdf01a7ddb67b6","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4d6e9feb148729aa1bdf01a7ddb67b6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bb89de914c416d381061506426c3d3db","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.793","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9f2bbe273f071b502e6d5830c1fd9cc3"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.000639,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"bb89de914c416d381061506426c3d3db"},"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/353deede-685f-4354-b85c-39231cff5a13' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"620f1349-1ca5-45aa-b1db-6c2ae6ab448b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.2886357} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb89de914c416d381061506426c3d3db"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31caa376-8286-4771-9e55-d69286cf3f54","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.2938433} 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":"bb89de914c416d381061506426c3d3db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f54a44ae-b882-4abf-a768-11ae8c4a3bd9' closed"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"50ec63cf-2667-4b3b-a7aa-723053151695","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.3048503} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d6e7ff9-52cc-4a2e-b891-eaad8a343583","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.305015} 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":"bb89de914c416d381061506426c3d3db"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.304828542Z"}]},"request_id":"17ab47e5-e72d-4533-82b1-af35c7758384","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.3100028} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb89de914c416d381061506426c3d3db"},"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":"bb89de914c416d381061506426c3d3db","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb89de914c416d381061506426c3d3db"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7f69848254b8e9e37f0c0ac1c12291bd","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.798271,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"7f69848254b8e9e37f0c0ac1c12291bd"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e4835167-5957-4096-ae2f-2ea91c93c83c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.335063} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f69848254b8e9e37f0c0ac1c12291bd"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b749197c-4375-477a-8ed0-939b2c2335fe","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.3404374} 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":"7f69848254b8e9e37f0c0ac1c12291bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"5a0a1549-9def-439e-93b1-5ca7f21686c4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.3501773} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e61b8233-af64-4a45-b8de-4ef22efd92b7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.3504264} 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":"7f69848254b8e9e37f0c0ac1c12291bd"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.350148825Z"}]},"request_id":"21642954-d8f1-45aa-ad81-d29e84ae4923","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.3551104} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f69848254b8e9e37f0c0ac1c12291bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"7f69848254b8e9e37f0c0ac1c12291bd","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f69848254b8e9e37f0c0ac1c12291bd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc6e39bcee4baff02ca7c692650f7e87","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933609,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"cc6e39bcee4baff02ca7c692650f7e87"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e8dc509706e353b9f194bcd1dcb3c69","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617802,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"9e8dc509706e353b9f194bcd1dcb3c69"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.304828542Z"}]},"request_id":"9ff52209-ca9d-4d30-90c9-c6ff06752f6a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.831853} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc6e39bcee4baff02ca7c692650f7e87"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78152eba-017e-453e-82db-11215fab90d5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.839061} 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":"cc6e39bcee4baff02ca7c692650f7e87"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.350148825Z"}]},"request_id":"b7ff97a5-3324-4f82-ab78-9d2edf812290","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.84089} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e8dc509706e353b9f194bcd1dcb3c69"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b63fe8dd-4009-460a-b52a-5c07bf6e4ba4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.8461187} 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":"9e8dc509706e353b9f194bcd1dcb3c69"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.304828542Z"}]},"request_id":"159ff5b9-74fe-45ce-8871-3007d5dc9939","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.861981} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc6e39bcee4baff02ca7c692650f7e87"},"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a 200 49ms","method":"PATCH","requestID":"cc6e39bcee4baff02ca7c692650f7e87","responseTime":49,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cc6e39bcee4baff02ca7c692650f7e87"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9b45ba34313bb3edff25c2101ba3d14b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.350148825Z"}]},"request_id":"27b2c0a8-3aa1-45b1-a0f9-32d72f187e11","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.8742266} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e8dc509706e353b9f194bcd1dcb3c69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9e8dc509706e353b9f194bcd1dcb3c69"} device_1 | {"level":"info","message":"PATCH /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a 200 49ms","method":"PATCH","requestID":"9e8dc509706e353b9f194bcd1dcb3c69","responseTime":49,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983336,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b45ba34313bb3edff25c2101ba3d14b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"74620fb43a2135045c6a722850b6bc56","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.996431,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"74620fb43a2135045c6a722850b6bc56"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9b45ba34313bb3edff25c2101ba3d14b"} device_1 | {"level":"info","message":"POST /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/websocket 200 25ms","method":"POST","requestID":"9b45ba34313bb3edff25c2101ba3d14b","responseTime":25,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"74620fb43a2135045c6a722850b6bc56"} device_1 | {"level":"info","message":"POST /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/websocket 200 25ms","method":"POST","requestID":"74620fb43a2135045c6a722850b6bc56","responseTime":25,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28c73db3e80a42c636edcb415e1f2997","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654598,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28c73db3e80a42c636edcb415e1f2997"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.304828542Z"}]},"request_id":"fa77dde2-07ba-4d22-a2d4-4a7b7bd281ba","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.9471247} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28c73db3e80a42c636edcb415e1f2997"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28c73db3e80a42c636edcb415e1f2997"} device_1 | {"level":"info","message":"GET /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a? 200 14ms","method":"GET","requestID":"28c73db3e80a42c636edcb415e1f2997","responseTime":14,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45ab25a0aa3b0d7c086e952625eaac8a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.744886,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45ab25a0aa3b0d7c086e952625eaac8a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.350148825Z"}]},"request_id":"14be62a4-c645-44f0-9d13-001a815a6cee","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840287.9668548} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45ab25a0aa3b0d7c086e952625eaac8a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45ab25a0aa3b0d7c086e952625eaac8a"} device_1 | {"level":"info","message":"GET /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a? 200 13ms","method":"GET","requestID":"45ab25a0aa3b0d7c086e952625eaac8a","responseTime":13,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"145e81de23c747daa1d98cdefb1f7772","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:53134","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.723606,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"145e81de23c747daa1d98cdefb1f7772"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"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:53134","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623364,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24bf9630-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884375,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24bfe450-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.304828542Z"}]},"request_id":"4c12c1d2-424a-486f-9b13-b8780c197927","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.0317082} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24bf9630-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.350148825Z"}]},"request_id":"0ab8af41-bac3-44db-bc07-d4d20dca9fca","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.033147} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24bfe450-f803-11ee-94dd-ef446cbc77bc"},"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a? 200 22ms","method":"GET","requestID":"24bf9630-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a? 200 22ms","method":"GET","requestID":"24bfe450-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"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/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Successfully running experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21375,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"24cc1950-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.546549,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"24cc6770-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.556077,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"022e04ba-45be-4724-92d4-4f0eb3b25927","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.114293} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24ccdca0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.304828542Z"}]},"request_id":"84632c08-c56b-49df-866d-82c73de0e354","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1160233} 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":"24cc1950-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.350148825Z"}]},"request_id":"5de9f475-6fcb-4299-8dff-4530fa346ae6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1189365} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24cc6770-f803-11ee-94dd-ef446cbc77bc"},"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling 200 16ms","method":"POST","requestID":"24ccdca0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F307765bc-8783-4989-8410-5efa7c3c52c1#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F307765bc-8783-4989-8410-5efa7c3c52c1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"8f5dbab2-2679-4926-bfc8-34ab4383e537","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.126005} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86906801-6ceb-44dd-ac0a-ee1f88580f5c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1264112} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a? 200 29ms","method":"GET","requestID":"24cc1950-f803-11ee-94dd-ef446cbc77bc","responseTime":29,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a?"} 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":"145e81de23c747daa1d98cdefb1f7772"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} device_1 | {"level":"info","message":"GET /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a? 200 28ms","method":"GET","requestID":"24cc6770-f803-11ee-94dd-ef446cbc77bc","responseTime":28,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bd214cc-a17b-4c46-90ce-27edaa9827ec","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1327376} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.467227,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","rebac_allow":false,"scope_allow":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":"24cfc2d0-f803-11ee-94dd-ef446cbc77bc"},"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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling 200 15ms","method":"POST","requestID":"24cfc2d0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ced275f-9146-4545-a4a7-998bfe0f44c1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1446102} experiment_1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"145e81de23c747daa1d98cdefb1f7772","responseTime":169,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.59385,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"145e81de23c747daa1d98cdefb1f7772"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","rebac_allow":false,"scope_allow":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":"24d1bea0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"645960746d1dc3dd7748bb9d0c8ed447","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling 200 14ms","method":"POST","requestID":"24d1bea0-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887613,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840288,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"645960746d1dc3dd7748bb9d0c8ed447"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8283e355-e0db-40a7-b782-a68073560b70","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.160438} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.37931,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24d456b0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.304828542Z"}]},"request_id":"73fd0c13-a6d5-4fcb-adf9-6baf4286cedf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.165099} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling 200 11ms","method":"POST","requestID":"24d456b0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/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":"645960746d1dc3dd7748bb9d0c8ed447"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"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":"e41c670a-b103-4c6e-ac76-2d926d681fa2"},{"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":"3887ab9b-dc4e-414f-880c-7d6fd58d1f17"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"15a67706-3e28-415f-b3dd-7efad9bf9bf3"}]},"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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a"},{"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"645960746d1dc3dd7748bb9d0c8ed447"} device_1 | {"level":"info","message":"GET /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a? 200 19ms","method":"GET","requestID":"645960746d1dc3dd7748bb9d0c8ed447","responseTime":19,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.118503,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840287,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4N30._flSm3J3H7R9nTK2-or3pQPNdLB2YP4uvILJOrZNuZ0"} 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":"24d67990-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"473149e97f3e0181d91f1b779e1e540a","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.011031,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840288,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"473149e97f3e0181d91f1b779e1e540a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"a2a2da30-11b4-4626-b8ff-69aace3077a4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1933525} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a76edfcd-ca72-49a1-8cad-50d6f74cb8f3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1943393} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24d67990-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:07.350148825Z"}]},"request_id":"e7599355-1e5d-45d2-b16d-47da3cf5db26","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.1965053} 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":"473149e97f3e0181d91f1b779e1e540a"},"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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a? 200 23ms","method":"GET","requestID":"473149e97f3e0181d91f1b779e1e540a","responseTime":23,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"473149e97f3e0181d91f1b779e1e540a"} 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/52fdde5d-e183-4f58-9333-18199e1d12fe'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 61ms","method":"POST","requestID":"24d67990-f803-11ee-94dd-ef446cbc77bc","responseTime":61,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2c3acea-c1a8-4a8c-8534-157ccd197d84","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.2705116} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.614649,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24e51f90-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6e68e544bbe21e684d1203814492ed9","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a"},{"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling 200 13ms","method":"POST","requestID":"24e51f90-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c6e68e544bbe21e684d1203814492ed9","responseTime":7,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6e68e544bbe21e684d1203814492ed9"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bb9b851-5cd9-4509-8b42-5cd077293a0d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.2855804} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.513923,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24e79090-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling 200 12ms","method":"POST","requestID":"24e79090-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling"} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","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/52fdde5d-e183-4f58-9333-18199e1d12fe' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b67e4e7684a6ba021ca6a44d2c927182","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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a"},{"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52fdde5d-e183-4f58-9333-18199e1d12fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66c8f851-30dc-4941-9898-a8ea4a361f19","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.3299599} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.308133,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe","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":"24ee2040-f803-11ee-94dd-ef446cbc77bc"},"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/52fdde5d-e183-4f58-9333-18199e1d12fe 200 11ms","method":"GET","requestID":"24ee2040-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"b67e4e7684a6ba021ca6a44d2c927182","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"b67e4e7684a6ba021ca6a44d2c927182"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b05ed66b-16bd-496e-8462-2cd45bfc40c0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.3572807} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.152778,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","rebac_allow":false,"scope_allow":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":"24f28d10-f803-11ee-94dd-ef446cbc77bc"},"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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling 200 9ms","method":"POST","requestID":"24f28d10-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cd6dd9d-db8d-484a-8d41-ec63fbc984f8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.3681364} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368561,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","rebac_allow":false,"scope_allow":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":"24f43ac0-f803-11ee-94dd-ef446cbc77bc"},"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling 200 9ms","method":"POST","requestID":"24f43ac0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6cca6c16b370a9296dcdd5c53972c8b3","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/307765bc-8783-4989-8410-5efa7c3c52c1"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.166144,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840288,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc"} 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":"6cca6c16b370a9296dcdd5c53972c8b3"},"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/307765bc-8783-4989-8410-5efa7c3c52c1"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/307765bc-8783-4989-8410-5efa7c3c52c1 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6cca6c16b370a9296dcdd5c53972c8b3"} experiment_1 | {"level":"info","message":"GET /experiments/307765bc-8783-4989-8410-5efa7c3c52c1 200 17ms","method":"GET","requestID":"6cca6c16b370a9296dcdd5c53972c8b3","responseTime":17,"status":200,"url":"/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"160e56bda03160f395894ffce7275d8d","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/307765bc-8783-4989-8410-5efa7c3c52c1"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.122615,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840288,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc"} 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":"160e56bda03160f395894ffce7275d8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.073862,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840288,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc"} 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":"250292a0-f803-11ee-94dd-ef446cbc77bc"},"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/52fdde5d-e183-4f58-9333-18199e1d12fe' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52fdde5d-e183-4f58-9333-18199e1d12fe': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52fdde5d-e183-4f58-9333-18199e1d12fe","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"e8fc8eb1-6d2d-441e-bba6-84f9d9b3ea67","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.4817045} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b9b45cfd90c9141226c48777d83b08d","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6eac328d-2d57-4e47-986e-8d4bc13b6ca9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.4823365} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 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":"250292a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a"},{"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9bef73069e1e5446b0db80e74efb969a","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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a"},{"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"52fdde5d-e183-4f58-9333-18199e1d12fe","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/52fdde5d-e183-4f58-9333-18199e1d12fe 204 76ms","method":"DELETE","requestID":"250292a0-f803-11ee-94dd-ef446cbc77bc","responseTime":76,"status":204,"url":"/peerconnections/52fdde5d-e183-4f58-9333-18199e1d12fe"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9d8c7d1-e7cb-4dc2-be8f-e719a709678a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a8c2930-8752-400c-a9bd-c946b53f710b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.568106} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.646309,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a","object_type":"device","rebac_allow":false,"scope_allow":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":"25122300-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F307765bc-8783-4989-8410-5efa7c3c52c1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F307765bc-8783-4989-8410-5efa7c3c52c1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"56d7a03e-54cd-481b-b8df-cc8ca755346c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.5753088} 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"044200a9-a420-4a47-a8d1-d90deb47501c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.5758708} 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":"160e56bda03160f395894ffce7275d8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"POST /devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling 200 20ms","method":"POST","requestID":"25122300-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f10f0fb-36c2-4a83-bede-771fb8e675b5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.5898433} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.328524,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a","object_type":"device","rebac_allow":false,"scope_allow":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":"25157e60-f803-11ee-94dd-ef446cbc77bc"},"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling 200 16ms","method":"POST","requestID":"25157e60-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/307765bc-8783-4989-8410-5efa7c3c52c1"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/307765bc-8783-4989-8410-5efa7c3c52c1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"160e56bda03160f395894ffce7275d8d"} experiment_1 | {"level":"info","message":"DELETE /experiments/307765bc-8783-4989-8410-5efa7c3c52c1 204 203ms","method":"DELETE","requestID":"160e56bda03160f395894ffce7275d8d","responseTime":203,"status":204,"url":"/experiments/307765bc-8783-4989-8410-5efa7c3c52c1"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.744","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ad1620138e4d23fd51cdc520949dd8f6"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.734","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"20aa2d6e80d08a9ff4edf981bf60edf2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"3b9b45cfd90c9141226c48777d83b08d","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b9b45cfd90c9141226c48777d83b08d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"9bef73069e1e5446b0db80e74efb969a","responseTime":161,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"9bef73069e1e5446b0db80e74efb969a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4abadfca917bfad4c0589ba1e2b6537c","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/f9d8c7d1-e7cb-4dc2-be8f-e719a709678a' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.942376,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840288,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc"} 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":"4abadfca917bfad4c0589ba1e2b6537c"},"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/8c6ebd3d-1b4d-4a06-b1c9-9c37a515f69a' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"676ee63b-d9ac-41b3-80d9-2b44dc65be71","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.6734192} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4abadfca917bfad4c0589ba1e2b6537c"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a956d16-7a44-4f42-a5bd-861762ad41e4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.679452} 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":"4abadfca917bfad4c0589ba1e2b6537c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"929ba52e-b237-4169-9da6-a00df4f3ccee","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.6899197} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d924a1f-69fb-4564-8a07-3946a5e243eb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.690136} 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":"4abadfca917bfad4c0589ba1e2b6537c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.689893904Z"}]},"request_id":"f80a8014-a21a-4422-ba47-ee7708b0ffa4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.6951907} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4abadfca917bfad4c0589ba1e2b6537c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"4abadfca917bfad4c0589ba1e2b6537c","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4abadfca917bfad4c0589ba1e2b6537c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eed20d220701a99f11134a0f8681cf62","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.849263,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840288,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OH0.dqJOWXWro18ZsxrdZZ1mwNUb5vuXAVhJkMDWAnbq8Cc"} 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":"eed20d220701a99f11134a0f8681cf62"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2430c947-9796-478b-bd0a-0237d7dcec78","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.7235794} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eed20d220701a99f11134a0f8681cf62"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73b1d465-248d-4a16-88e5-6b0a7529b932","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.7291496} 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":"eed20d220701a99f11134a0f8681cf62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"24940bbc-7534-4e8d-ba5e-14aeba7224fc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.741068} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"275b6ed6-5fb9-41b4-a429-549a259a6383","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.7412663} 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":"eed20d220701a99f11134a0f8681cf62"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.741041018Z"}]},"request_id":"19ad3cc5-6167-42d7-9e5b-dd74a9662a5c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840288.7467425} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eed20d220701a99f11134a0f8681cf62"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"eed20d220701a99f11134a0f8681cf62","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eed20d220701a99f11134a0f8681cf62"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e45ff8d42472a85ea7e364f3fe9c9c8","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680787,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"4e45ff8d42472a85ea7e364f3fe9c9c8"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.689893904Z"}]},"request_id":"efe75a44-10c2-48dc-b3c8-1324419413aa","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.2128615} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e45ff8d42472a85ea7e364f3fe9c9c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8ddeabb2fb4fc26cac8e9c02bb63bb0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d11c205-3f02-4337-a861-70be98c75276","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.2190678} 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":"4e45ff8d42472a85ea7e364f3fe9c9c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670503,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"b8ddeabb2fb4fc26cac8e9c02bb63bb0"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.689893904Z"}]},"request_id":"fd09b6f1-c148-4d90-91a8-c383c49539c5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.2389867} 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":"4e45ff8d42472a85ea7e364f3fe9c9c8"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.741041018Z"}]},"request_id":"f4ed7868-0869-475e-8898-400a1c234a72","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.2406602} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8ddeabb2fb4fc26cac8e9c02bb63bb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4e45ff8d42472a85ea7e364f3fe9c9c8"} device_1 | {"level":"info","message":"PATCH /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d 200 38ms","method":"PATCH","requestID":"4e45ff8d42472a85ea7e364f3fe9c9c8","responseTime":38,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ef74efb7e45b195ef27482860b233f5","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"551cbdc4-ea5c-47dc-ba99-b1365baa35b0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.247631} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8ddeabb2fb4fc26cac8e9c02bb63bb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66959,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"9ef74efb7e45b195ef27482860b233f5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.741041018Z"}]},"request_id":"a3be3370-0c4c-4406-8a7c-42b530b94102","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.2591538} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8ddeabb2fb4fc26cac8e9c02bb63bb0"},"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":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c7d8d564-0579-4d28-a428-90cc4123361a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b8ddeabb2fb4fc26cac8e9c02bb63bb0"} device_1 | {"level":"info","message":"PATCH /devices/c7d8d564-0579-4d28-a428-90cc4123361a 200 43ms","method":"PATCH","requestID":"b8ddeabb2fb4fc26cac8e9c02bb63bb0","responseTime":43,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c98673334a67c5d24273dcc5e66d9bdf","responseTime":4,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9ef74efb7e45b195ef27482860b233f5"} device_1 | {"level":"info","message":"POST /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/websocket 200 19ms","method":"POST","requestID":"9ef74efb7e45b195ef27482860b233f5","responseTime":19,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779581,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"c98673334a67c5d24273dcc5e66d9bdf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"device 'http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c7d8d564-0579-4d28-a428-90cc4123361a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c98673334a67c5d24273dcc5e66d9bdf"} device_1 | {"level":"info","message":"POST /devices/c7d8d564-0579-4d28-a428-90cc4123361a/websocket 200 22ms","method":"POST","requestID":"c98673334a67c5d24273dcc5e66d9bdf","responseTime":22,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1459a6e04393ecad63bff6f18f97ec11","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197601,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1459a6e04393ecad63bff6f18f97ec11"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.689893904Z"}]},"request_id":"64158d62-b4d4-42bf-b00a-00b4dbcd0203","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.319201} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1459a6e04393ecad63bff6f18f97ec11"},"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d? 200 13ms","method":"GET","requestID":"1459a6e04393ecad63bff6f18f97ec11","responseTime":13,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1459a6e04393ecad63bff6f18f97ec11"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"028946e050c8d978725eceff96dfad9b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155269,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"028946e050c8d978725eceff96dfad9b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.741041018Z"}]},"request_id":"1f5012a7-5258-4769-8237-6eb26492cdf3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.33838} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"028946e050c8d978725eceff96dfad9b"},"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/c7d8d564-0579-4d28-a428-90cc4123361a? 200 14ms","method":"GET","requestID":"028946e050c8d978725eceff96dfad9b","responseTime":14,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d8d564-0579-4d28-a428-90cc4123361a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"028946e050c8d978725eceff96dfad9b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"059a6f219da7dcbdbf747488cacfdabf","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:53134","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.14873,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"059a6f219da7dcbdbf747488cacfdabf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"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:53134","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668272,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25942440-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759974,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"25947260-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.689893904Z"}]},"request_id":"c9e4a00a-200f-42ed-a7a4-7fab31aa5907","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.422099} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25942440-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.741041018Z"}]},"request_id":"dd0d78a0-1d97-4b53-801e-2764bad9e064","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.4231207} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25947260-f803-11ee-94dd-ef446cbc77bc"},"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d? 200 18ms","method":"GET","requestID":"25942440-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c7d8d564-0579-4d28-a428-90cc4123361a? 200 20ms","method":"GET","requestID":"25947260-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"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/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.096105,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"25a16ab0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057889,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"25a1b8d0-f803-11ee-94dd-ef446cbc77bc"},"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":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.071787,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6ee769b-9a3d-41ab-af6e-02fed04422e3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5087278} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","rebac_allow":false,"scope_allow":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":"25a1dfe0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.689893904Z"}]},"request_id":"d5726f2b-cf33-4075-9d84-ab00b1aef9f4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5173848} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling 200 19ms","method":"POST","requestID":"25a1dfe0-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling"} 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":"25a16ab0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a89e7e6-742e-472f-898e-84c964d20cbd#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a89e7e6-742e-472f-898e-84c964d20cbd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"1e4ddeda-08ae-4bf2-89c8-484b862cff3c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5205197} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7cda465f-f449-49ef-9fd0-47a9f1c645d7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5207636} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.741041018Z"}]},"request_id":"19940545-68ae-4c23-ad26-2f2a46275792","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5218008} 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":"059a6f219da7dcbdbf747488cacfdabf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25a1b8d0-f803-11ee-94dd-ef446cbc77bc"},"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 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56474e5e-30c7-4079-9826-2190ba487935","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5308266} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.011416,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d? 200 34ms","method":"GET","requestID":"25a16ab0-f803-11ee-94dd-ef446cbc77bc","responseTime":34,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d?"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"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":"25a56250-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /experiments? 201 182ms","method":"POST","requestID":"059a6f219da7dcbdbf747488cacfdabf","responseTime":182,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +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":"059a6f219da7dcbdbf747488cacfdabf"} device_1 | {"level":"info","message":"GET /devices/c7d8d564-0579-4d28-a428-90cc4123361a? 200 35ms","method":"GET","requestID":"25a1b8d0-f803-11ee-94dd-ef446cbc77bc","responseTime":35,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling 200 13ms","method":"POST","requestID":"25a56250-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"765070007dd6384b1d72405a7a3ac3d4","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b4d16ef-db9e-43bf-93af-c8f3b914552e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.544019} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892316,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"765070007dd6384b1d72405a7a3ac3d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.803235,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","rebac_allow":false,"scope_allow":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":"25a78530-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.689893904Z"}]},"request_id":"4e977a55-c336-45b8-aeb3-6c91d6c85f6e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5500174} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"765070007dd6384b1d72405a7a3ac3d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"POST /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling 200 12ms","method":"POST","requestID":"25a78530-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"765070007dd6384b1d72405a7a3ac3d4"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} device_1 | {"level":"info","message":"GET /devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d? 200 14ms","method":"GET","requestID":"765070007dd6384b1d72405a7a3ac3d4","responseTime":14,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5fe2268-770c-4c9d-9b2f-1cfb7882b9f7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5575144} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.412606,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25a9a810-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0eca4903f9643e0d745beabd4a2f6a4f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling 200 10ms","method":"POST","requestID":"25a9a810-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780951,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"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":"a9f392a7-ac34-4779-97e0-e1d4f949be93"},{"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":"81048eb5-d677-4232-bb22-222937c584cf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5f1546e1-c368-4f15-94ce-0fad045f5f3b"}]},"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d"},{"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/c7d8d564-0579-4d28-a428-90cc4123361a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"0eca4903f9643e0d745beabd4a2f6a4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:08.741041018Z"}]},"request_id":"e0f517e4-78fa-4483-8d40-86ee0023210e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.569304} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0eca4903f9643e0d745beabd4a2f6a4f"},"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:53134","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.626918,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"25abf200-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d8d564-0579-4d28-a428-90cc4123361a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0eca4903f9643e0d745beabd4a2f6a4f"} device_1 | {"level":"info","message":"GET /devices/c7d8d564-0579-4d28-a428-90cc4123361a? 200 15ms","method":"GET","requestID":"0eca4903f9643e0d745beabd4a2f6a4f","responseTime":15,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"36a788b5-981a-45d5-bce6-20e4a445c36c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5822892} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee7bae36-30d6-40c3-8ac7-9b67b65ac112","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.5824423} 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":"25abf200-f803-11ee-94dd-ef446cbc77bc"},"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/f8173fde-70e6-42ca-8fff-2a952406120f'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f'"} 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":"25abf200-f803-11ee-94dd-ef446cbc77bc","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"f8173fde-70e6-42ca-8fff-2a952406120f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8859d70a-1e0e-4482-a25a-61545a239c37","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.658364} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.424875,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"data":{"peerconnection":"f8173fde-70e6-42ca-8fff-2a952406120f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25b8c340-f803-11ee-94dd-ef446cbc77bc"},"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling 200 17ms","method":"POST","requestID":"25b8c340-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f8173fde-70e6-42ca-8fff-2a952406120f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b50cda05ae10251753de278037b97b4a","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d"},{"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/c7d8d564-0579-4d28-a428-90cc4123361a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"106988e1-45c4-4459-a020-434c1b8a850f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.6804879} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.870744,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","rebac_allow":false,"scope_allow":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":"25bbf790-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"b50cda05ae10251753de278037b97b4a","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"b50cda05ae10251753de278037b97b4a"} device_1 | {"data":{"peerconnection":"f8173fde-70e6-42ca-8fff-2a952406120f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling 200 17ms","method":"POST","requestID":"25bbf790-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling"} device_1 | {"data":{"peerconnection":"f8173fde-70e6-42ca-8fff-2a952406120f","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/f8173fde-70e6-42ca-8fff-2a952406120f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f8173fde-70e6-42ca-8fff-2a952406120f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f1272475c1c5b3efe31251096878173a","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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d"},{"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/c7d8d564-0579-4d28-a428-90cc4123361a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8173fde-70e6-42ca-8fff-2a952406120f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c29de85a-ac13-45c9-96dd-4446bad96ea7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.733431} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.560735,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f","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":"25c45c00-f803-11ee-94dd-ef446cbc77bc"},"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/f8173fde-70e6-42ca-8fff-2a952406120f 200 11ms","method":"GET","requestID":"25c45c00-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"f1272475c1c5b3efe31251096878173a","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"f1272475c1c5b3efe31251096878173a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d92ba84-58ee-4c4b-a079-526809fd0cd1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.763988} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.705446,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","rebac_allow":false,"scope_allow":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":"25c8efe0-f803-11ee-94dd-ef446cbc77bc"},"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling 200 11ms","method":"POST","requestID":"25c8efe0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adf2a339-711a-48a6-ae2a-5f87aae55c43","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.776084} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236066,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","rebac_allow":false,"scope_allow":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":"25caebb0-f803-11ee-94dd-ef446cbc77bc"},"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/c7d8d564-0579-4d28-a428-90cc4123361a/signaling 200 10ms","method":"POST","requestID":"25caebb0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f984be1406501387c67789736eef36f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.355709,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"9f984be1406501387c67789736eef36f"},"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/2a89e7e6-742e-472f-898e-84c964d20cbd"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2a89e7e6-742e-472f-898e-84c964d20cbd HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f984be1406501387c67789736eef36f"} experiment_1 | {"level":"info","message":"GET /experiments/2a89e7e6-742e-472f-898e-84c964d20cbd 200 13ms","method":"GET","requestID":"9f984be1406501387c67789736eef36f","responseTime":13,"status":200,"url":"/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8302d183537df9f1735a6e5e296b178","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.111391,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"b8302d183537df9f1735a6e5e296b178"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.414798,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"25d720b0-f803-11ee-94dd-ef446cbc77bc"},"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/f8173fde-70e6-42ca-8fff-2a952406120f' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f8173fde-70e6-42ca-8fff-2a952406120f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8173fde-70e6-42ca-8fff-2a952406120f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff8173fde-70e6-42ca-8fff-2a952406120f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"803911c3-7ca5-4284-a558-5ab432a0ea81","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.8732688} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fd2d6711d3c304591f973979c25d51dc","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d778599-8f1d-4ce2-9fc7-fcc113c31d7f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.873634} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d"},{"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/c7d8d564-0579-4d28-a428-90cc4123361a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a4a134c1707f646a078be4a17d320525","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":"25d720b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d"},{"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/c7d8d564-0579-4d28-a428-90cc4123361a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f 204 39ms","method":"DELETE","requestID":"25d720b0-f803-11ee-94dd-ef446cbc77bc","responseTime":39,"status":204,"url":"/peerconnections/f8173fde-70e6-42ca-8fff-2a952406120f"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbb7c8a2-0bc5-4ec2-badd-ca8d190a53ba","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.913609} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.554757,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25dfac30-f803-11ee-94dd-ef446cbc77bc"},"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling 200 13ms","method":"POST","requestID":"25dfac30-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a89e7e6-742e-472f-898e-84c964d20cbd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2a89e7e6-742e-472f-898e-84c964d20cbd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"a0c95554-0676-4cf2-84f8-cdb47ec4ad2e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.9264927} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a566277d-27fe-4f25-9e89-a5c526235d3a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.9267} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} 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":"b8302d183537df9f1735a6e5e296b178"},"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:53134","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.618711,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d8d564-0579-4d28-a428-90cc4123361a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b14d041f-a6c2-4927-9167-6a6e8101d22c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840289.929262} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25e21d30-f803-11ee-94dd-ef446cbc77bc"},"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/c7d8d564-0579-4d28-a428-90cc4123361a/signaling 200 12ms","method":"POST","requestID":"25e21d30-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/c7d8d564-0579-4d28-a428-90cc4123361a/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2a89e7e6-742e-472f-898e-84c964d20cbd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8302d183537df9f1735a6e5e296b178"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.713","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d36594f09b7788a88d3ad3715342328b"} experiment_1 | {"level":"info","message":"DELETE /experiments/2a89e7e6-742e-472f-898e-84c964d20cbd 204 147ms","method":"DELETE","requestID":"b8302d183537df9f1735a6e5e296b178","responseTime":147,"status":204,"url":"/experiments/2a89e7e6-742e-472f-898e-84c964d20cbd"} gateway_1 | {"time_local":"11/Apr/2024:12:58:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.691","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"0a045878a68a28cb3070ab26be871264"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 110ms","method":"POST","requestID":"fd2d6711d3c304591f973979c25d51dc","responseTime":110,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"fd2d6711d3c304591f973979c25d51dc"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c7d8d564-0579-4d28-a428-90cc4123361a' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"a4a134c1707f646a078be4a17d320525"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"a4a134c1707f646a078be4a17d320525","responseTime":112,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ce6ca77f139d7fb666eb2c5614a8ead5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.88398,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:09Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840289,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI4OX0.MjjTEEoKXYK2-3_DJbdk6DTgAqjo2HGOSrZ_OwhCHNo"} 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":"ce6ca77f139d7fb666eb2c5614a8ead5"},"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/d33be6c9-3567-4c2c-b6d7-3fccf5c14a7d' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"85b60d92-9e14-4821-bc56-bd3d56cd8972","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.008969} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce6ca77f139d7fb666eb2c5614a8ead5"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d57a8728-22f3-4129-a4ff-5e61cea22421","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.0142205} 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":"ce6ca77f139d7fb666eb2c5614a8ead5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"d8198629-da2f-4e1f-b430-55a1b1e269ab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.026397} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0dfc766-1a2b-462d-9352-347f6ac982be","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.0264895} 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":"ce6ca77f139d7fb666eb2c5614a8ead5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.026366067Z"}]},"request_id":"57192de2-066c-4323-a77e-feb782b31577","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.0315876} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce6ca77f139d7fb666eb2c5614a8ead5"},"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":"ce6ca77f139d7fb666eb2c5614a8ead5","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce6ca77f139d7fb666eb2c5614a8ead5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5MH0.hMy05YpNCQah83tQesG1UFUO9W3Wxf7qZNDqEDqtsMM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b12192e9baa5db1dfe4c64767ecee06b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:10Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801242,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840290,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5MH0.hMy05YpNCQah83tQesG1UFUO9W3Wxf7qZNDqEDqtsMM"} 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":"b12192e9baa5db1dfe4c64767ecee06b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"09b1c651-fd69-41cd-a178-74d74a305e69","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.0605688} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b12192e9baa5db1dfe4c64767ecee06b"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8a374c5-4c1f-4ee4-9978-8dba6716aa5b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.0670383} 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":"b12192e9baa5db1dfe4c64767ecee06b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"33c0cd53-1441-4495-bac9-3e8b3cea19d4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.077314} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6478f90-8b1e-4761-a4bd-4cd09331bef9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.077624} 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":"b12192e9baa5db1dfe4c64767ecee06b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.077290484Z"}]},"request_id":"1d56b2a3-7360-4f3b-b688-4c7c90661dce","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840290.0829177} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b12192e9baa5db1dfe4c64767ecee06b"},"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":"b12192e9baa5db1dfe4c64767ecee06b","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b12192e9baa5db1dfe4c64767ecee06b"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ad04b1bd0f0ca399e4cc6f741ab3477c","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/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":"ad04b1bd0f0ca399e4cc6f741ab3477c"} device_1 | {"level":"info","message":"OPTIONS /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/websocket 200 1ms","method":"OPTIONS","requestID":"ad04b1bd0f0ca399e4cc6f741ab3477c","responseTime":1,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/websocket"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"efa45d852b4dd628c4a7b1dc4a8e9a36","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/526b7766-7b28-4564-8b91-daae835c521e/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":"efa45d852b4dd628c4a7b1dc4a8e9a36"} device_1 | {"level":"info","message":"OPTIONS /devices/526b7766-7b28-4564-8b91-daae835c521e/websocket 200 2ms","method":"OPTIONS","requestID":"efa45d852b4dd628c4a7b1dc4a8e9a36","responseTime":2,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5de5d71d794d862ec60b9265a20d763c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dcfc4505be60352985ade001ac9594bd","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72742,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"5de5d71d794d862ec60b9265a20d763c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713662,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"dcfc4505be60352985ade001ac9594bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/websocket 200 34ms","method":"POST","requestID":"5de5d71d794d862ec60b9265a20d763c","responseTime":34,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5de5d71d794d862ec60b9265a20d763c"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/526b7766-7b28-4564-8b91-daae835c521e/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":"dcfc4505be60352985ade001ac9594bd"} device_1 | {"level":"info","message":"POST /devices/526b7766-7b28-4564-8b91-daae835c521e/websocket 200 42ms","method":"POST","requestID":"dcfc4505be60352985ade001ac9594bd","responseTime":42,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"054cafdeaba36298a93cbc8fbdf7add7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087591,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"054cafdeaba36298a93cbc8fbdf7add7"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.026366067Z"}]},"request_id":"c3d979a8-46c5-4e4b-94fc-22abbca8b844","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.1513517} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"054cafdeaba36298a93cbc8fbdf7add7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/526b7766-7b28-4564-8b91-daae835c521e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"054cafdeaba36298a93cbc8fbdf7add7"} device_1 | {"level":"info","message":"GET /devices/526b7766-7b28-4564-8b91-daae835c521e? 200 16ms","method":"GET","requestID":"054cafdeaba36298a93cbc8fbdf7add7","responseTime":16,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c966aad2211f86fadecca72eaa0e31d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.134329,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c966aad2211f86fadecca72eaa0e31d"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.077290484Z"}]},"request_id":"4da24f5e-69e0-420c-a0de-8e1e14a2321f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.1794071} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c966aad2211f86fadecca72eaa0e31d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c966aad2211f86fadecca72eaa0e31d"} device_1 | {"level":"info","message":"GET /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2? 200 21ms","method":"GET","requestID":"5c966aad2211f86fadecca72eaa0e31d","responseTime":21,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b89159ff4aa24433dba242119133dc3","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:53134","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.144752,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"8b89159ff4aa24433dba242119133dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"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:53134","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939053,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27461a00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.552223,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27466820-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.026366067Z"}]},"request_id":"d7b22e99-a211-4fe7-bd9f-6e67cedcf0cd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.2657647} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27461a00-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.077290484Z"}]},"request_id":"fadb71b4-46f1-4d00-8071-197b3d3e0eab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.2667046} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27466820-f803-11ee-94dd-ef446cbc77bc"},"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/526b7766-7b28-4564-8b91-daae835c521e? 200 20ms","method":"GET","requestID":"27461a00-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2? 200 19ms","method":"GET","requestID":"27466820-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"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:53134","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96476,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27513d90-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.598646,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"275164a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:49692","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.839825,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35957980-5c85-4ad7-a682-12750f6c2a87","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3369026} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27518bb0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.026366067Z"}]},"request_id":"429b5042-1891-4384-aee4-37e1b24584d5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3417842} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/526b7766-7b28-4564-8b91-daae835c521e/signaling 200 12ms","method":"POST","requestID":"27518bb0-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e/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":"27513d90-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.077290484Z"}]},"request_id":"55b7c51b-3adc-4be6-8cd2-0cc19b5d86a3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3428342} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"275164a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/526b7766-7b28-4564-8b91-daae835c521e? 200 22ms","method":"GET","requestID":"27513d90-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecd4235e-ba96-4bc6-b412-b521b29a92df#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecd4235e-ba96-4bc6-b412-b521b29a92df","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"72a38727-72ca-47fc-b33b-057baa80d679","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3507354} 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b4f798a-27c5-433e-80bc-3cbfdb70da81","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3509827} device_1 | {"level":"info","message":"GET /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2? 200 22ms","method":"GET","requestID":"275164a0-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2?"} 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":"8b89159ff4aa24433dba242119133dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8693bbea-e107-48f3-9ded-4a0a79c127eb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3538337} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780405,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2753fcb0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling 200 13ms","method":"POST","requestID":"2753fcb0-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89ac8cad-d7b8-4b67-82b0-036a88a82cbe","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.361028} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.836973,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27553530-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"8b89159ff4aa24433dba242119133dc3","responseTime":170,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b89159ff4aa24433dba242119133dc3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a045425dabd2d29c1e06d583b2108fdc","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/526b7766-7b28-4564-8b91-daae835c521e/signaling 200 16ms","method":"POST","requestID":"27553530-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89729,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a045425dabd2d29c1e06d583b2108fdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9e8af2f-2821-4950-9a53-573f5f4fcc68","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3779814} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.177318,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2757f450-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.026366067Z"}]},"request_id":"1be0ca5d-01d7-4ccc-8d99-c97d65056574","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.3821585} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a045425dabd2d29c1e06d583b2108fdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"POST /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling 200 10ms","method":"POST","requestID":"2757f450-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"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":"e8a2e51e-37c2-4544-a079-a01ff54f4fab"},{"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":"f9aadb7c-d3a8-4914-b5b1-e99643679dd5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9d5a5645-0332-477b-b6af-4aff7631e107"}]},"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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2"},{"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/526b7766-7b28-4564-8b91-daae835c521e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/526b7766-7b28-4564-8b91-daae835c521e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a045425dabd2d29c1e06d583b2108fdc"} device_1 | {"level":"info","message":"GET /devices/526b7766-7b28-4564-8b91-daae835c521e? 200 16ms","method":"GET","requestID":"a045425dabd2d29c1e06d583b2108fdc","responseTime":16,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.807819,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"2759f020-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"730cb36b52814da119d45a22a52ab48f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757935,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"730cb36b52814da119d45a22a52ab48f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"43deb525-39db-4014-84c5-873ce34455ea","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.4013388} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91b9d2ef-bf1d-48fb-9e3c-0cc80a4b58cd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.4015794} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:10.077290484Z"}]},"request_id":"4805b45f-1e69-4ae2-b922-b059520c3ad6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.4019709} 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":"2759f020-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"730cb36b52814da119d45a22a52ab48f"},"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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2? 200 15ms","method":"GET","requestID":"730cb36b52814da119d45a22a52ab48f","responseTime":15,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"730cb36b52814da119d45a22a52ab48f"} 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/31ccfb4d-b3c1-4d45-908f-fcec38cec62a'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a'"} 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":"2759f020-f803-11ee-94dd-ef446cbc77bc","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/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c36ac183-84df-406f-ad83-e299a2cc989d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.4588735} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.247778,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","rebac_allow":false,"scope_allow":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":"27645060-f803-11ee-94dd-ef446cbc77bc"},"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/526b7766-7b28-4564-8b91-daae835c521e/signaling 200 9ms","method":"POST","requestID":"27645060-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0691cee-04c6-46f6-a518-e3b5f96513c6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.4699247} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.774351,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","rebac_allow":false,"scope_allow":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":"2765fe10-f803-11ee-94dd-ef446cbc77bc"},"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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling 200 11ms","method":"POST","requestID":"2765fe10-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"31ccfb4d-b3c1-4d45-908f-fcec38cec62a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"07a827822a9c6750e4019cd16f7652de","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2"},{"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/526b7766-7b28-4564-8b91-daae835c521e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"07a827822a9c6750e4019cd16f7652de","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"07a827822a9c6750e4019cd16f7652de"} device_1 | {"data":{"peerconnection":"31ccfb4d-b3c1-4d45-908f-fcec38cec62a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"31ccfb4d-b3c1-4d45-908f-fcec38cec62a","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/31ccfb4d-b3c1-4d45-908f-fcec38cec62a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"31ccfb4d-b3c1-4d45-908f-fcec38cec62a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ae9d572c208df7bdbeb7ea9d124df433","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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2"},{"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/526b7766-7b28-4564-8b91-daae835c521e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31ccfb4d-b3c1-4d45-908f-fcec38cec62a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac18cf88-769d-4d50-9fab-4b7a545ff12f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.6891263} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.619116,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a","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":"2786f390-f803-11ee-94dd-ef446cbc77bc"},"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/31ccfb4d-b3c1-4d45-908f-fcec38cec62a 200 15ms","method":"GET","requestID":"2786f390-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"ae9d572c208df7bdbeb7ea9d124df433","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae9d572c208df7bdbeb7ea9d124df433"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"577864d5-2861-444c-beb4-23dc28835183","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.7266917} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.123018,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","rebac_allow":false,"scope_allow":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":"278cbff0-f803-11ee-94dd-ef446cbc77bc"},"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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling 200 19ms","method":"POST","requestID":"278cbff0-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3046f5af-6e70-4dc4-8294-2c3da1645a13","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.7511406} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.062397,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","rebac_allow":false,"scope_allow":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":"27906970-f803-11ee-94dd-ef446cbc77bc"},"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/526b7766-7b28-4564-8b91-daae835c521e/signaling 200 17ms","method":"POST","requestID":"27906970-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c73268dedabd362c568f430b09d2231","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.614688,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"8c73268dedabd362c568f430b09d2231"},"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/ecd4235e-ba96-4bc6-b412-b521b29a92df"} experiment_1 | {"level":"info","message":"GET /experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df 200 19ms","method":"GET","requestID":"8c73268dedabd362c568f430b09d2231","responseTime":19,"status":200,"url":"/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c73268dedabd362c568f430b09d2231"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f506f5cad78cc90f2170c9d293b3518c","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.248689,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"f506f5cad78cc90f2170c9d293b3518c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.016574,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"279aa2a0-f803-11ee-94dd-ef446cbc77bc"},"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/31ccfb4d-b3c1-4d45-908f-fcec38cec62a' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"31ccfb4d-b3c1-4d45-908f-fcec38cec62a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f36038be07aa0b97a0a1febcde1fdad1","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2"},{"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/526b7766-7b28-4564-8b91-daae835c521e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cd11fc25ee8afc79e5110431e6b14668","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31ccfb4d-b3c1-4d45-908f-fcec38cec62a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31ccfb4d-b3c1-4d45-908f-fcec38cec62a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"df90927d-dbb5-439d-82e1-e851d6e9afed","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.836669} 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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2"},{"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/526b7766-7b28-4564-8b91-daae835c521e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a"}}},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64db6cab-a27a-4c1a-84f9-a96390cb06be","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.8367977} 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":"279aa2a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"31ccfb4d-b3c1-4d45-908f-fcec38cec62a","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/31ccfb4d-b3c1-4d45-908f-fcec38cec62a 204 54ms","method":"DELETE","requestID":"279aa2a0-f803-11ee-94dd-ef446cbc77bc","responseTime":54,"status":204,"url":"/peerconnections/31ccfb4d-b3c1-4d45-908f-fcec38cec62a"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0adff0b6-fc2f-407b-80f1-17d3b57d9af2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de2582f6-0910-47df-885f-fdd5bc0c888b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.8955762} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.256184,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2","object_type":"device","rebac_allow":false,"scope_allow":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":"27a6b090-f803-11ee-94dd-ef446cbc77bc"},"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/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling 200 14ms","method":"POST","requestID":"27a6b090-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecd4235e-ba96-4bc6-b412-b521b29a92df': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecd4235e-ba96-4bc6-b412-b521b29a92df","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"01daef4f-e99c-4741-be8a-e71056a73239","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.9099607} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21b3a1af-a2a4-4379-9464-ccd2cbfe370c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.9103243} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} 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":"f506f5cad78cc90f2170c9d293b3518c"},"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:53134","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.848673,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F526b7766-7b28-4564-8b91-daae835c521e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bdbddde-7003-4bec-bf6c-0e0300a6d42f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840292.9140408} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/526b7766-7b28-4564-8b91-daae835c521e","object_type":"device","rebac_allow":false,"scope_allow":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":"27a96fb0-f803-11ee-94dd-ef446cbc77bc"},"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/526b7766-7b28-4564-8b91-daae835c521e/signaling 200 15ms","method":"POST","requestID":"27a96fb0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/526b7766-7b28-4564-8b91-daae835c521e/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df 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":"f506f5cad78cc90f2170c9d293b3518c"} experiment_1 | {"level":"info","message":"DELETE /experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df 204 179ms","method":"DELETE","requestID":"f506f5cad78cc90f2170c9d293b3518c","responseTime":179,"status":204,"url":"/experiments/ecd4235e-ba96-4bc6-b412-b521b29a92df"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"f36038be07aa0b97a0a1febcde1fdad1","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"f36038be07aa0b97a0a1febcde1fdad1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b8282d29362b5fa7c457e5d496fb3ee","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"cd11fc25ee8afc79e5110431e6b14668","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"cd11fc25ee8afc79e5110431e6b14668"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2130","request_time":"0.870","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2577438643fcb5764e454901260085fd"} gateway_1 | {"time_local":"11/Apr/2024:12:58:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2397","request_time":"0.882","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d03633b5e1e342b58b844bafd47fffc9"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.025385,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840292,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Mn0.-k-IWHAn9pugP-AjtEC_Xs10Og45WdwmTFcqWYiqvGE"} 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":"3b8282d29362b5fa7c457e5d496fb3ee"},"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/526b7766-7b28-4564-8b91-daae835c521e' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0adff0b6-fc2f-407b-80f1-17d3b57d9af2' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9acfc0ab-cef8-4690-a444-532e7cef5c92","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0028613} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b8282d29362b5fa7c457e5d496fb3ee"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebb034b1-392c-4fe5-9b76-f5c503588b60","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.007873} 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":"3b8282d29362b5fa7c457e5d496fb3ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"067cbed2-220a-4b6f-83f2-ee7d2ce1bc0c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0176682} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fccc72e-c198-4230-95db-ec2a50169dc6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0177743} 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":"3b8282d29362b5fa7c457e5d496fb3ee"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.017649323Z"}]},"request_id":"2c8c2bde-6731-45f1-90bd-7bc19f88a43e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0214956} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b8282d29362b5fa7c457e5d496fb3ee"},"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":"3b8282d29362b5fa7c457e5d496fb3ee","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b8282d29362b5fa7c457e5d496fb3ee"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5M30.WUT0hoErjWoVTj2a63nqC0t_9PDyGfUeXjJgdcq0q04","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eec166dba6fdedf7d678cd3c5ccc6b9a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:13Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.018947,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:13Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840293,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5M30.WUT0hoErjWoVTj2a63nqC0t_9PDyGfUeXjJgdcq0q04"} 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":"eec166dba6fdedf7d678cd3c5ccc6b9a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1ad036ea-906f-4acc-a357-867347d656df","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0461705} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eec166dba6fdedf7d678cd3c5ccc6b9a"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38b0f165-b68b-4cca-8a3b-2bdafb6650e2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0502431} 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":"eec166dba6fdedf7d678cd3c5ccc6b9a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"b09afb1c-207f-426b-8196-ed39b4781f87","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0621488} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82670584-94be-43cf-a5f4-f31e396cd546","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0624819} 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":"eec166dba6fdedf7d678cd3c5ccc6b9a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.062128556Z"}]},"request_id":"227fc5a1-cb7e-41f2-a15f-28df6808d57a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840293.0663393} authorization_1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eec166dba6fdedf7d678cd3c5ccc6b9a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"eec166dba6fdedf7d678cd3c5ccc6b9a","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eec166dba6fdedf7d678cd3c5ccc6b9a"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"517c1a2550f800a5a51331650f0803d9","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/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":"517c1a2550f800a5a51331650f0803d9"} device_1 | {"level":"info","message":"OPTIONS /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/websocket 200 1ms","method":"OPTIONS","requestID":"517c1a2550f800a5a51331650f0803d9","responseTime":1,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/websocket"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0ca86636b26e94db324d837f72e6f345","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/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":"0ca86636b26e94db324d837f72e6f345"} device_1 | {"level":"info","message":"OPTIONS /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/websocket 200 1ms","method":"OPTIONS","requestID":"0ca86636b26e94db324d837f72e6f345","responseTime":1,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2cfcf5f1ce7f799105ccd72a649f380a","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.641936,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"13bb2a278b34a52f607baddebdbeaf04","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cfcf5f1ce7f799105ccd72a649f380a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298914,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13bb2a278b34a52f607baddebdbeaf04"},"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5/websocket 200 37ms","method":"POST","requestID":"2cfcf5f1ce7f799105ccd72a649f380a","responseTime":37,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/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":"2cfcf5f1ce7f799105ccd72a649f380a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/websocket 200 40ms","method":"POST","requestID":"13bb2a278b34a52f607baddebdbeaf04","responseTime":40,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"13bb2a278b34a52f607baddebdbeaf04"} device_1 | {"level":"info","message":"device 'http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91cec85681f20fc8064576aa4cb89fe0","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713801,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91cec85681f20fc8064576aa4cb89fe0"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.017649323Z"}]},"request_id":"1316bd04-886f-4483-960d-8cce0e82cb41","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.1280339} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91cec85681f20fc8064576aa4cb89fe0"},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4? 200 16ms","method":"GET","requestID":"91cec85681f20fc8064576aa4cb89fe0","responseTime":16,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91cec85681f20fc8064576aa4cb89fe0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af3bfda3abf8ca481eb15d7250b8317b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.383303,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af3bfda3abf8ca481eb15d7250b8317b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.062128556Z"}]},"request_id":"39246b33-a9a4-48ed-a30a-ed47075279d5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.1493793} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af3bfda3abf8ca481eb15d7250b8317b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af3bfda3abf8ca481eb15d7250b8317b"} device_1 | {"level":"info","message":"GET /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5? 200 16ms","method":"GET","requestID":"af3bfda3abf8ca481eb15d7250b8317b","responseTime":16,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"34045f7ae676b148bae17eaeb3a4fd72","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:53134","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.179678,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"34045f7ae676b148bae17eaeb3a4fd72"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"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:53134","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144782,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29099bf0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.582155,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2909ea10-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.017649323Z"}]},"request_id":"6e984c6b-2e2d-4a6b-b492-3f5bc1c45580","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.227951} 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":"29099bf0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.062128556Z"}]},"request_id":"d8dcb54c-f57e-499a-a9ff-880a61727b34","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.2298017} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2909ea10-f803-11ee-94dd-ef446cbc77bc"},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4? 200 23ms","method":"GET","requestID":"29099bf0-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5? 200 22ms","method":"GET","requestID":"2909ea10-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"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:53134","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.777321,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"2915f800-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.695875,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"29164620-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a39b475-3225-413b-b6a9-1e28351dcc62","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3129542} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.446546,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","rebac_allow":false,"scope_allow":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":"2916bb50-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.017649323Z"}]},"request_id":"ac9e3a4c-7c36-4617-bd1e-11bcfe247c61","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3170276} 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":"2915f800-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.062128556Z"}]},"request_id":"1f64acef-7d4f-4d67-9b4d-2e8cc2ff7346","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3218117} 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":"29164620-f803-11ee-94dd-ef446cbc77bc"},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling 200 26ms","method":"POST","requestID":"2916bb50-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F790e831a-5f58-45d5-89f5-8faf00449d0c#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F790e831a-5f58-45d5-89f5-8faf00449d0c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"ac619299-8575-42a6-b391-1470501b0f72","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3297217} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09ff86c8-aafc-4ec2-be61-dbc57d5b5b3a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3302586} 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":"34045f7ae676b148bae17eaeb3a4fd72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} device_1 | {"level":"info","message":"GET /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4? 200 41ms","method":"GET","requestID":"2915f800-f803-11ee-94dd-ef446cbc77bc","responseTime":41,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5? 200 40ms","method":"GET","requestID":"29164620-f803-11ee-94dd-ef446cbc77bc","responseTime":40,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9c093fa-924d-4bc7-acec-395db95192df","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3394504} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.284088,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","rebac_allow":false,"scope_allow":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":"291b7640-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"34045f7ae676b148bae17eaeb3a4fd72","responseTime":186,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling 200 17ms","method":"POST","requestID":"291b7640-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34045f7ae676b148bae17eaeb3a4fd72"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9426e49f-fc4e-4a0d-887c-92d8dbffdc36","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3540342} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.312731,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","rebac_allow":false,"scope_allow":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":"291dc030-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"71666234d7ce73fe152e97e86fa0b70a","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling 200 15ms","method":"POST","requestID":"291dc030-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.222667,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"71666234d7ce73fe152e97e86fa0b70a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"654facc5-68fb-4e03-a259-073c47b6db93","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3716757} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.244982,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","rebac_allow":false,"scope_allow":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":"29207f50-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.017649323Z"}]},"request_id":"317b4dfa-d83c-41a6-83db-e192b847d86b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.3774343} device_1 | {"level":"info","message":"POST /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling 200 13ms","method":"POST","requestID":"29207f50-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/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":"71666234d7ce73fe152e97e86fa0b70a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"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":"d1af8b5e-62e6-434a-bfa3-5999c591b01d"},{"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":"d7f39b89-4522-408c-8adc-298ba5e25ad0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bf66221c-bb5f-4418-b88f-2b3aea595474"}]},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4"},{"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4? 200 23ms","method":"GET","requestID":"71666234d7ce73fe152e97e86fa0b70a","responseTime":23,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71666234d7ce73fe152e97e86fa0b70a"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.837588,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"29233e70-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"796b1c37752898e794839c375843ae78","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09396,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"796b1c37752898e794839c375843ae78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"4016d6a6-4f78-409f-bd58-04e136acb56c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.4008358} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b98b0dbf-5c40-41e4-aa69-5a9168f9b636","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.4012685} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:13.062128556Z"}]},"request_id":"cba1edea-1f15-4f54-987b-36339cb9b50d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.4020114} 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":"29233e70-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"796b1c37752898e794839c375843ae78"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"796b1c37752898e794839c375843ae78"} device_1 | {"level":"info","message":"GET /devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5? 200 15ms","method":"GET","requestID":"796b1c37752898e794839c375843ae78","responseTime":15,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5?"} 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/844a1c74-ad4a-4190-8b42-9818802b70b0'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"29233e70-f803-11ee-94dd-ef446cbc77bc","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68e0cb1c-3e4d-4b7e-a2e0-baa395234bd4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.4675298} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.907545,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"292f4c60-f803-11ee-94dd-ef446cbc77bc"},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling 200 10ms","method":"POST","requestID":"292f4c60-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d790d8d-3014-4d33-b34e-69f6f70ca52b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.4788811} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.987157,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","rebac_allow":false,"scope_allow":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":"29314830-f803-11ee-94dd-ef446cbc77bc"},"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling 200 9ms","method":"POST","requestID":"29314830-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"844a1c74-ad4a-4190-8b42-9818802b70b0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ed9a21449ab115f0d09c0677be1ab51c","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/27611acc-cd79-4f8f-baff-c3fa22f85fe4"},{"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"ed9a21449ab115f0d09c0677be1ab51c","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed9a21449ab115f0d09c0677be1ab51c"} device_1 | {"data":{"peerconnection":"844a1c74-ad4a-4190-8b42-9818802b70b0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"844a1c74-ad4a-4190-8b42-9818802b70b0","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/844a1c74-ad4a-4190-8b42-9818802b70b0' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"844a1c74-ad4a-4190-8b42-9818802b70b0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb6fcb4513bb614943870f8addd6c65a","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/27611acc-cd79-4f8f-baff-c3fa22f85fe4"},{"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F844a1c74-ad4a-4190-8b42-9818802b70b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82e7e7cc-fc3e-4c65-afbb-842e59c659d8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.6899068} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.032322,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0","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":"29512c40-f803-11ee-94dd-ef446cbc77bc"},"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/844a1c74-ad4a-4190-8b42-9818802b70b0 200 10ms","method":"GET","requestID":"29512c40-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"bb6fcb4513bb614943870f8addd6c65a","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb6fcb4513bb614943870f8addd6c65a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad796eb4-860a-4519-b7ea-fb14d4de6bf7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.7233753} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.406968,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","rebac_allow":false,"scope_allow":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":"29565c60-f803-11ee-94dd-ef446cbc77bc"},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling 200 11ms","method":"POST","requestID":"29565c60-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"163a59ae-dded-4646-a6a5-aba1957b2bd8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.736608} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.363195,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","rebac_allow":false,"scope_allow":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":"29585830-f803-11ee-94dd-ef446cbc77bc"},"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling 200 11ms","method":"POST","requestID":"29585830-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6ea7c4e994dc736540b5723fdd395096","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.272949,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"6ea7c4e994dc736540b5723fdd395096"},"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/790e831a-5f58-45d5-89f5-8faf00449d0c"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/790e831a-5f58-45d5-89f5-8faf00449d0c HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ea7c4e994dc736540b5723fdd395096"} experiment_1 | {"level":"info","message":"GET /experiments/790e831a-5f58-45d5-89f5-8faf00449d0c 200 16ms","method":"GET","requestID":"6ea7c4e994dc736540b5723fdd395096","responseTime":16,"status":200,"url":"/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"020eae809d6a1a0f565d744d32eae931","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.150031,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"020eae809d6a1a0f565d744d32eae931"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.474684,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} 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":"29657790-f803-11ee-94dd-ef446cbc77bc"},"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/844a1c74-ad4a-4190-8b42-9818802b70b0' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"844a1c74-ad4a-4190-8b42-9818802b70b0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F844a1c74-ad4a-4190-8b42-9818802b70b0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F844a1c74-ad4a-4190-8b42-9818802b70b0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"14792b4b-3f2f-40a5-8bf2-f7b5d158467a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.8430195} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ea5f005-7f02-4619-a615-c3fc2b8d8aab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.8436685} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 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":"29657790-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"011f9ef8689ad9ab059288afb61efb8e","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea61e1dfdef1a32ab2059d645a581ea3","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4"},{"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0"}}},"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":"closed","url":"http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4"},{"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0 204 58ms","method":"DELETE","requestID":"29657790-f803-11ee-94dd-ef446cbc77bc","responseTime":58,"status":204,"url":"/peerconnections/844a1c74-ad4a-4190-8b42-9818802b70b0"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F27611acc-cd79-4f8f-baff-c3fa22f85fe4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a5719d1-153d-4e72-b282-2f8b2d5a4be9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.9039176} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.059777,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4","object_type":"device","rebac_allow":false,"scope_allow":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":"2971ac90-f803-11ee-94dd-ef446cbc77bc"},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling 200 15ms","method":"POST","requestID":"2971ac90-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/27611acc-cd79-4f8f-baff-c3fa22f85fe4/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F790e831a-5f58-45d5-89f5-8faf00449d0c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F790e831a-5f58-45d5-89f5-8faf00449d0c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"61a37933-9776-4fcc-abbc-4a095eb8e78c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.9133384} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44c998f1-c03e-4662-9316-01d16dd2c3e0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.913862} 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":"020eae809d6a1a0f565d744d32eae931"},"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:53134","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19c77bb4-9a19-4f25-bffd-68eef4f980f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9ac7f1e-e141-40be-bc2c-ebb4b86efbca","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840295.9239752} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.420733,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5","object_type":"device","rebac_allow":false,"scope_allow":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":"297492c0-f803-11ee-94dd-ef446cbc77bc"},"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/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling 200 16ms","method":"POST","requestID":"297492c0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/790e831a-5f58-45d5-89f5-8faf00449d0c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"020eae809d6a1a0f565d744d32eae931"} experiment_1 | {"level":"info","message":"DELETE /experiments/790e831a-5f58-45d5-89f5-8faf00449d0c 204 179ms","method":"DELETE","requestID":"020eae809d6a1a0f565d744d32eae931","responseTime":179,"status":204,"url":"/experiments/790e831a-5f58-45d5-89f5-8faf00449d0c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"011f9ef8689ad9ab059288afb61efb8e","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"011f9ef8689ad9ab059288afb61efb8e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"ea61e1dfdef1a32ab2059d645a581ea3","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea61e1dfdef1a32ab2059d645a581ea3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"086283fa14010a9d49043d2692c20f6e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2400","request_time":"0.899","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"72db6e68acfd7e8bbff7e7a89433e84a"} gateway_1 | {"time_local":"11/Apr/2024:12:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2128","request_time":"0.911","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2c87afddfa11f2a8b868b442abba2ac4"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.865298,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840295,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5NX0.7y2GDNogohXK_zB3Y8aRQ3Xl1nmfDKE35TqdhshOmcE"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/19c77bb4-9a19-4f25-bffd-68eef4f980f5' 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":"086283fa14010a9d49043d2692c20f6e"},"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/27611acc-cd79-4f8f-baff-c3fa22f85fe4' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fe5e3e6c-48a0-4a31-8fa3-0713fd4a8822","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.010416} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"086283fa14010a9d49043d2692c20f6e"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2197abab-81ab-477c-915f-bd98637c8bb4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0149472} 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":"086283fa14010a9d49043d2692c20f6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"2c340112-cca3-400c-baca-2d95fcecb980","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0256062} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e85898a5-33f4-4c2b-b361-cc3456b738b5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0258193} 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":"086283fa14010a9d49043d2692c20f6e"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.025578956Z"}]},"request_id":"993d4dd8-7590-42fe-9a67-c48cd9427873","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0303018} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"086283fa14010a9d49043d2692c20f6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"086283fa14010a9d49043d2692c20f6e","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"086283fa14010a9d49043d2692c20f6e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Nn0.vWuUdpwD3oxzBBZ_R9pqcEoJ4FPXDwagpSme_-AC0oo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"41705ae8c03d73c2cccfa5763f1b1232","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:16Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.731656,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:16Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840296,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Nn0.vWuUdpwD3oxzBBZ_R9pqcEoJ4FPXDwagpSme_-AC0oo"} 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":"41705ae8c03d73c2cccfa5763f1b1232"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d472d60c-bc38-434e-ab54-5b2d0393bf15","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0550594} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41705ae8c03d73c2cccfa5763f1b1232"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7be4b7a2-d3d7-41ee-b793-a15034fce17f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0590436} 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":"41705ae8c03d73c2cccfa5763f1b1232"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"53a58ba1-250a-4ac4-883e-4078476967f3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0680485} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08dc7213-3223-49e9-9650-dd0c9a06be52","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0682223} 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":"41705ae8c03d73c2cccfa5763f1b1232"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.068021934Z"}]},"request_id":"da35ceb1-3f9d-4f79-94ed-5016a3563371","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.0716014} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41705ae8c03d73c2cccfa5763f1b1232"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"41705ae8c03d73c2cccfa5763f1b1232","responseTime":36,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41705ae8c03d73c2cccfa5763f1b1232"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Nn0.vWuUdpwD3oxzBBZ_R9pqcEoJ4FPXDwagpSme_-AC0oo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5aa79ecd7439788ceec1542bd676e149","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:16Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861133,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840296,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Nn0.vWuUdpwD3oxzBBZ_R9pqcEoJ4FPXDwagpSme_-AC0oo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aa79ecd7439788ceec1542bd676e149"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.068021934Z"}]},"request_id":"c995e141-9e61-41bf-9d99-5552e09def34","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.5643883} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aa79ecd7439788ceec1542bd676e149"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd749ab9-9abd-47c4-b9ea-df917bc54fa9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.5691483} 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":"5aa79ecd7439788ceec1542bd676e149"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.068021934Z"}]},"request_id":"f8ab6354-d509-40bd-8e92-46ccc44b5e78","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840296.591197} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aa79ecd7439788ceec1542bd676e149"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172 200 41ms","method":"PATCH","requestID":"5aa79ecd7439788ceec1542bd676e149","responseTime":41,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172"} gateway_1 | {"time_local":"11/Apr/2024:12:58:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5aa79ecd7439788ceec1542bd676e149"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Nn0.vWuUdpwD3oxzBBZ_R9pqcEoJ4FPXDwagpSme_-AC0oo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6f2f65f35bf6f44ff5fc05dca8aa360e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:16Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854251,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840296,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5Nn0.vWuUdpwD3oxzBBZ_R9pqcEoJ4FPXDwagpSme_-AC0oo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f2f65f35bf6f44ff5fc05dca8aa360e"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/websocket 200 20ms","method":"POST","requestID":"6f2f65f35bf6f44ff5fc05dca8aa360e","responseTime":20,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6f2f65f35bf6f44ff5fc05dca8aa360e"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"977551799bf2da2f6f362d38a7477881","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/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":"977551799bf2da2f6f362d38a7477881"} device_1 | {"level":"info","message":"OPTIONS /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/websocket 200 1ms","method":"OPTIONS","requestID":"977551799bf2da2f6f362d38a7477881","responseTime":1,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9a39ca922ac37b7dd5e4d3ff7b02c2c9","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213802,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a39ca922ac37b7dd5e4d3ff7b02c2c9"},"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62/websocket 200 33ms","method":"POST","requestID":"9a39ca922ac37b7dd5e4d3ff7b02c2c9","responseTime":33,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/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":"9a39ca922ac37b7dd5e4d3ff7b02c2c9"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"708bd821908a6dace10da28fae286131","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065647,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"708bd821908a6dace10da28fae286131"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.025578956Z"}]},"request_id":"1ba31b76-61b0-4382-ab08-2939c7e5ddfe","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.1379735} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"708bd821908a6dace10da28fae286131"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"708bd821908a6dace10da28fae286131"} device_1 | {"level":"info","message":"GET /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62? 200 19ms","method":"GET","requestID":"708bd821908a6dace10da28fae286131","responseTime":19,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c4d5b27ff76948dd0bd1f99ce5e21ca3","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647692,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} 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":"c4d5b27ff76948dd0bd1f99ce5e21ca3"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.068021934Z"}]},"request_id":"3e534dde-0593-4dbd-8b44-7075d19917b4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.157064} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4d5b27ff76948dd0bd1f99ce5e21ca3"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172? 200 11ms","method":"GET","requestID":"c4d5b27ff76948dd0bd1f99ce5e21ca3","responseTime":11,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4d5b27ff76948dd0bd1f99ce5e21ca3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc4c7daab46defeec8cc54449e77d95c","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:53134","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.18395,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} 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":"dc4c7daab46defeec8cc54449e77d95c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"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:53134","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.546355,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ad58250-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611064,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} 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":"2ad5d070-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.025578956Z"}]},"request_id":"fa4ab5d1-e9e3-4b1c-8747-b296a8ef916a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.2425196} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ad58250-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.068021934Z"}]},"request_id":"7d2f822f-57f9-4928-ac33-1182b9b782e6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.2441413} 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":"2ad5d070-f803-11ee-94dd-ef446cbc77bc"},"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62? 200 24ms","method":"GET","requestID":"2ad58250-f803-11ee-94dd-ef446cbc77bc","responseTime":24,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172? 200 23ms","method":"GET","requestID":"2ad5d070-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"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/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.724294,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} 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":"2ae14220-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.526777,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} 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":"2ae19040-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.025578956Z"}]},"request_id":"c6c7742e-a243-4c75-9361-f6aefdae890e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.3284223} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.068021934Z"}]},"request_id":"1244ce87-ff88-49dc-82b0-d1c25aca67d3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.3298874} 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":"2ae14220-f803-11ee-94dd-ef446cbc77bc"},"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:32912","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} 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":"2ae19040-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bca0d4a-e293-46b7-99eb-66165577489d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.3332422} authorization_1 | {"client_addr":"127.0.0.1:32912","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.324099,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","rebac_allow":false,"scope_allow":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":"2ae1de60-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4614a717-d4c7-4bc5-8afd-37515d39597b#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4614a717-d4c7-4bc5-8afd-37515d39597b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"d3ae13f9-9243-4e00-ab7f-5283d9caf003","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.3366594} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95b4714f-0ee6-4ce5-ab8d-2f798c6d35fc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.337034} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc4c7daab46defeec8cc54449e77d95c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"level":"info","message":"GET /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62? 200 35ms","method":"GET","requestID":"2ae14220-f803-11ee-94dd-ef446cbc77bc","responseTime":35,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172? 200 38ms","method":"GET","requestID":"2ae19040-f803-11ee-94dd-ef446cbc77bc","responseTime":38,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling 200 39ms","method":"POST","requestID":"2ae1de60-f803-11ee-94dd-ef446cbc77bc","responseTime":39,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75251e8e-414a-40cd-a293-ec8ef2c4a56d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.357013} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.297214,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 192ms","method":"POST","requestID":"dc4c7daab46defeec8cc54449e77d95c","responseTime":192,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","rebac_allow":false,"scope_allow":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":"2ae7f8e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} gateway_1 | {"time_local":"11/Apr/2024:12:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc4c7daab46defeec8cc54449e77d95c"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling 200 15ms","method":"POST","requestID":"2ae7f8e0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd302558-4fc1-4505-b2c5-2f20ddc4b102","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.3664107} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.575436,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fd40f1122e06b7bb92ffdb1e4fa943da","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ae90a50-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3b21d75-ac38-49b3-a3ce-e0bfcf6e5881","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.3735247} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.857011,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} device_1 | {"level":"info","message":"POST /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling 200 18ms","method":"POST","requestID":"2ae90a50-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2aeab800-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.653655,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd40f1122e06b7bb92ffdb1e4fa943da"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling 200 14ms","method":"POST","requestID":"2aeab800-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.025578956Z"}]},"request_id":"eb818e7d-1f1a-41b2-802c-093b956642d9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.3826406} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"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":"660eb0cf-73bd-49b6-901f-fd757ed8c06a"},{"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":"3bd2da51-c8ae-4615-85d9-b1be27522441"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"33102d50-9c05-4ff1-a876-fa23d8bf76b5"}]},"level":"info","message":"Built pairwise service configurations"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd40f1122e06b7bb92ffdb1e4fa943da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172"},{"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62"}],"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:53134","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} gateway_1 | {"time_local":"11/Apr/2024:12:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd40f1122e06b7bb92ffdb1e4fa943da"} device_1 | {"level":"info","message":"GET /devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62? 200 17ms","method":"GET","requestID":"fd40f1122e06b7bb92ffdb1e4fa943da","responseTime":17,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.037897,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} 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":"2aed7720-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2a632dad6e431eb3f8235421d11cf634","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783043,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840298,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OH0.cE1JYl_disPxxwEzAdBye6AmcZ8dYxiYjIDjmOW0fkY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a632dad6e431eb3f8235421d11cf634"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"6ecf83ca-2ea8-410b-9dc3-3c7f465bd79d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.4027777} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71332020-f357-4ca4-add8-ec11fb86adac","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.4032757} 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":"2aed7720-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:16.068021934Z"}]},"request_id":"b4d24397-ccd6-4a37-bc18-a19207cb5a03","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.4088137} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a632dad6e431eb3f8235421d11cf634"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013'"} 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":"2aed7720-f803-11ee-94dd-ef446cbc77bc","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":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a632dad6e431eb3f8235421d11cf634"} device_1 | {"level":"info","message":"GET /devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172? 200 26ms","method":"GET","requestID":"2a632dad6e431eb3f8235421d11cf634","responseTime":26,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8fe68f4-3fd6-4a82-aea0-6929da654d17","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.455315} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.608941,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2af73b20-f803-11ee-94dd-ef446cbc77bc"},"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling 200 10ms","method":"POST","requestID":"2af73b20-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"782e583e-e72d-4b63-a595-b55a0d8359be","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840298.4663541} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.939185,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","rebac_allow":false,"scope_allow":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":"2af90fe0-f803-11ee-94dd-ef446cbc77bc"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling 200 8ms","method":"POST","requestID":"2af90fe0-f803-11ee-94dd-ef446cbc77bc","responseTime":8,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling"} device_1 | {"data":{"peerconnection":"56bd9e86-8244-4386-9bfa-bb593ddf2013","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/56bd9e86-8244-4386-9bfa-bb593ddf2013' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"56bd9e86-8244-4386-9bfa-bb593ddf2013","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9cf814ef31cedf574052cab179b7c8ea","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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172"},{"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"9cf814ef31cedf574052cab179b7c8ea","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"9cf814ef31cedf574052cab179b7c8ea"} device_1 | {"data":{"peerconnection":"56bd9e86-8244-4386-9bfa-bb593ddf2013","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"56bd9e86-8244-4386-9bfa-bb593ddf2013","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/56bd9e86-8244-4386-9bfa-bb593ddf2013' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"56bd9e86-8244-4386-9bfa-bb593ddf2013","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"51b3af95d89edfc93e30b7e68a521c95","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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172"},{"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F56bd9e86-8244-4386-9bfa-bb593ddf2013","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97e8da94-eeef-4d83-a682-a707e0331959","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.5456443} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.386325,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013","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":"2b9d3f20-f803-11ee-94dd-ef446cbc77bc"},"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/56bd9e86-8244-4386-9bfa-bb593ddf2013 200 15ms","method":"GET","requestID":"2b9d3f20-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"51b3af95d89edfc93e30b7e68a521c95","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"51b3af95d89edfc93e30b7e68a521c95"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbe3d0f8-5cb4-4876-b715-6846e7b5a727","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.5842302} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.583671,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","rebac_allow":false,"scope_allow":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":"2ba30b80-f803-11ee-94dd-ef446cbc77bc"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling 200 16ms","method":"POST","requestID":"2ba30b80-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"faa93f6f-b0da-49d4-a0fb-d206940cd184","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.601423} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.627465,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ba5f1b0-f803-11ee-94dd-ef446cbc77bc"},"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling 200 11ms","method":"POST","requestID":"2ba5f1b0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e72564adc24154f587bab86a70673b50","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.162492,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840299,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc"} 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":"e72564adc24154f587bab86a70673b50"},"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/4614a717-d4c7-4bc5-8afd-37515d39597b"} experiment_1 | {"level":"info","message":"GET /experiments/4614a717-d4c7-4bc5-8afd-37515d39597b 200 14ms","method":"GET","requestID":"e72564adc24154f587bab86a70673b50","responseTime":14,"status":200,"url":"/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"} gateway_1 | {"time_local":"11/Apr/2024:12:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4614a717-d4c7-4bc5-8afd-37515d39597b 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":"e72564adc24154f587bab86a70673b50"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e773cf54977d83819b43cadc7b377fef","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.185413,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840299,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc"} 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":"e773cf54977d83819b43cadc7b377fef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.214445,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840299,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc"} 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":"2baef260-f803-11ee-94dd-ef446cbc77bc"},"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/56bd9e86-8244-4386-9bfa-bb593ddf2013' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"56bd9e86-8244-4386-9bfa-bb593ddf2013","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F56bd9e86-8244-4386-9bfa-bb593ddf2013': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F56bd9e86-8244-4386-9bfa-bb593ddf2013","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"292b23d0-6992-49d5-8953-32ecf6a2f393","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.6818597} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d1385f049ffc5e0fc7d200bf8667f3b","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f98a272c-c071-4d0d-b973-23addd210238","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.6823535} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172"},{"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8b28e2a8f69802cd4b3f05e0813576cc","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":"2baef260-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172"},{"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013 204 64ms","method":"DELETE","requestID":"2baef260-f803-11ee-94dd-ef446cbc77bc","responseTime":64,"status":204,"url":"/peerconnections/56bd9e86-8244-4386-9bfa-bb593ddf2013"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0eb4a75b-a7a6-4e3b-8044-49cc23f08172","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33f25e52-9742-4d48-b37f-5102f87bfd4a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.749071} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.74213,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172","object_type":"device","rebac_allow":false,"scope_allow":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":"2bbc86f0-f803-11ee-94dd-ef446cbc77bc"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling 200 12ms","method":"POST","requestID":"2bbc86f0-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/0eb4a75b-a7a6-4e3b-8044-49cc23f08172/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4614a717-d4c7-4bc5-8afd-37515d39597b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4614a717-d4c7-4bc5-8afd-37515d39597b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"19ada01d-16ad-4e42-88b3-afac39266b9a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.7581933} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e1326c9-5557-4532-a15d-4ffb70bdb13d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.758439} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e773cf54977d83819b43cadc7b377fef"},"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:53134","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd52c6adc-35f7-4d98-97d5-a5900d6edb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ae7de9d-df99-4cca-a4c3-e32b71b6dbc0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.7661338} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.956723,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62","object_type":"device","rebac_allow":false,"scope_allow":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":"2bbed0e0-f803-11ee-94dd-ef446cbc77bc"},"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/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling 200 15ms","method":"POST","requestID":"2bbed0e0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"} gateway_1 | {"time_local":"11/Apr/2024:12:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4614a717-d4c7-4bc5-8afd-37515d39597b 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":"e773cf54977d83819b43cadc7b377fef"} experiment_1 | {"level":"info","message":"DELETE /experiments/4614a717-d4c7-4bc5-8afd-37515d39597b 204 180ms","method":"DELETE","requestID":"e773cf54977d83819b43cadc7b377fef","responseTime":180,"status":204,"url":"/experiments/4614a717-d4c7-4bc5-8afd-37515d39597b"} gateway_1 | {"time_local":"11/Apr/2024:12:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2397","request_time":"3.195","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f804ce3da54b5e29432d657a1af14c71"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"5d1385f049ffc5e0fc7d200bf8667f3b","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d1385f049ffc5e0fc7d200bf8667f3b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"8b28e2a8f69802cd4b3f05e0813576cc","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b28e2a8f69802cd4b3f05e0813576cc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b49eff558f91f7d7f5c8f7f92ff597a6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2158","request_time":"1.724","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"46f9676ccc86330ca1dbd382eae4f1ff"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.940573,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840299,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc"} 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":"b49eff558f91f7d7f5c8f7f92ff597a6"},"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/0eb4a75b-a7a6-4e3b-8044-49cc23f08172' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d52c6adc-35f7-4d98-97d5-a5900d6edb62' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bfe8cd84-ec7c-45c3-a1d8-0b6bd77e522a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.8476186} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b49eff558f91f7d7f5c8f7f92ff597a6"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76d2ff0e-01b2-40b2-b6eb-2840a729ef0d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.8539019} 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":"b49eff558f91f7d7f5c8f7f92ff597a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"255bcc7c-31af-4954-b77f-302576bc987d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.8665414} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d663f830-c52d-4aca-9777-2c4bcf02865e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.8668683} 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":"b49eff558f91f7d7f5c8f7f92ff597a6"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.866513070Z"}]},"request_id":"5b8a9cd6-16a6-4b92-a3f6-2ed72f7cb2c3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.8715165} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b49eff558f91f7d7f5c8f7f92ff597a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"b49eff558f91f7d7f5c8f7f92ff597a6","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b49eff558f91f7d7f5c8f7f92ff597a6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f963a6720d372a77c7e77e782142ee5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.72833,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840299,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDI5OX0.oFkGvVK0cxQRU7jybkQ0u6hZZvPWWta-i0Oy_j5CfGc"} 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":"3f963a6720d372a77c7e77e782142ee5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4127fa99-ebc3-45d3-94b4-9d1f1f78c6b2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.8957345} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f963a6720d372a77c7e77e782142ee5"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27df46b7-15ad-4889-929b-c839754806d7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.9006286} 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":"3f963a6720d372a77c7e77e782142ee5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"bead04d3-430b-4fa1-9820-584c3607e817","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.9091692} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2219182e-0673-4dea-9163-45744d293d36","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.9094625} 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":"3f963a6720d372a77c7e77e782142ee5"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.909148721Z"}]},"request_id":"48253851-f19e-44cd-93e7-b87f83bdeeb7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840299.9136558} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f963a6720d372a77c7e77e782142ee5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"3f963a6720d372a77c7e77e782142ee5","responseTime":35,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f963a6720d372a77c7e77e782142ee5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMH0.02LcffHOMe5Afxf5iah_tCiYb86o5_9LwU5f1CW-o5Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"30ba0666111684dcb7baa49783ffb068","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:20Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841611,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:20Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840300,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMH0.02LcffHOMe5Afxf5iah_tCiYb86o5_9LwU5f1CW-o5Q"} 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":"30ba0666111684dcb7baa49783ffb068"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.909148721Z"}]},"request_id":"17058379-1130-4a4a-bdbb-5f489b34b7e2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840300.4060504} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30ba0666111684dcb7baa49783ffb068"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14c3f469-b921-4053-808a-8ace186b0f05","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840300.4128144} 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":"30ba0666111684dcb7baa49783ffb068"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.909148721Z"}]},"request_id":"6c837102-4f01-4630-b677-bdb629524898","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840300.438073} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30ba0666111684dcb7baa49783ffb068"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d6b41620-c62e-4864-858f-884670bd612c HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"30ba0666111684dcb7baa49783ffb068"} device_1 | {"level":"info","message":"PATCH /devices/d6b41620-c62e-4864-858f-884670bd612c 200 48ms","method":"PATCH","requestID":"30ba0666111684dcb7baa49783ffb068","responseTime":48,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMH0.02LcffHOMe5Afxf5iah_tCiYb86o5_9LwU5f1CW-o5Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fb61507728f5d99964b1eec60821f70f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:20Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245808,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:20Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840300,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMH0.02LcffHOMe5Afxf5iah_tCiYb86o5_9LwU5f1CW-o5Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb61507728f5d99964b1eec60821f70f"},"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/d6b41620-c62e-4864-858f-884670bd612c/websocket 200 22ms","method":"POST","requestID":"fb61507728f5d99964b1eec60821f70f","responseTime":22,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d6b41620-c62e-4864-858f-884670bd612c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fb61507728f5d99964b1eec60821f70f"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a084dc92f5dbc1c466c93b0f8239ca8b","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/2aed9f48-9387-4e35-b143-5240e360cbfc/websocket 200 1ms","method":"OPTIONS","requestID":"a084dc92f5dbc1c466c93b0f8239ca8b","responseTime":1,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2aed9f48-9387-4e35-b143-5240e360cbfc/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":"a084dc92f5dbc1c466c93b0f8239ca8b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMX0.Qr4pPRCG7ZHS8UZMfx5XgfP8O6GHQ3MVnfn04f-DKfQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ddb857fb1f08a77ebb4f97278935c0de","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:21Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.504828,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:21Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840301,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMX0.Qr4pPRCG7ZHS8UZMfx5XgfP8O6GHQ3MVnfn04f-DKfQ"} 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":"ddb857fb1f08a77ebb4f97278935c0de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2aed9f48-9387-4e35-b143-5240e360cbfc/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":"ddb857fb1f08a77ebb4f97278935c0de"} device_1 | {"level":"info","message":"POST /devices/2aed9f48-9387-4e35-b143-5240e360cbfc/websocket 200 39ms","method":"POST","requestID":"ddb857fb1f08a77ebb4f97278935c0de","responseTime":39,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMX0.Qr4pPRCG7ZHS8UZMfx5XgfP8O6GHQ3MVnfn04f-DKfQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7be99b047d6c5e73243b248e52a8a420","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:21Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.301647,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840301,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMX0.Qr4pPRCG7ZHS8UZMfx5XgfP8O6GHQ3MVnfn04f-DKfQ"} 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":"7be99b047d6c5e73243b248e52a8a420"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.866513070Z"}]},"request_id":"8eb40b1d-f3b6-4300-b1ac-e4619087e219","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840301.9883716} 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":"7be99b047d6c5e73243b248e52a8a420"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2aed9f48-9387-4e35-b143-5240e360cbfc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7be99b047d6c5e73243b248e52a8a420"} device_1 | {"level":"info","message":"GET /devices/2aed9f48-9387-4e35-b143-5240e360cbfc? 200 24ms","method":"GET","requestID":"7be99b047d6c5e73243b248e52a8a420","responseTime":24,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f33ca0eded7730417e9bed1dd9775789","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.416776,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"f33ca0eded7730417e9bed1dd9775789"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.909148721Z"}]},"request_id":"6403342d-1558-4e2f-8384-9ede4788eab7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.0194447} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f33ca0eded7730417e9bed1dd9775789"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6b41620-c62e-4864-858f-884670bd612c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f33ca0eded7730417e9bed1dd9775789"} device_1 | {"level":"info","message":"GET /devices/d6b41620-c62e-4864-858f-884670bd612c? 200 23ms","method":"GET","requestID":"f33ca0eded7730417e9bed1dd9775789","responseTime":23,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aeda0bad1c668373d9ee8ffd3282ef0d","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:53134","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.305122,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"aeda0bad1c668373d9ee8ffd3282ef0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"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:53134","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083853,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"2d225880-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.218787,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"2d22a6a0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.866513070Z"}]},"request_id":"75b304f4-d608-43c5-99e6-b404d179b2bf","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.1030548} 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":"2d225880-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.909148721Z"}]},"request_id":"c5717b87-6bcd-4c56-a3bf-b897e2abc607","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.104913} 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":"2d22a6a0-f803-11ee-94dd-ef446cbc77bc"},"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/2aed9f48-9387-4e35-b143-5240e360cbfc? 200 26ms","method":"GET","requestID":"2d225880-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d6b41620-c62e-4864-858f-884670bd612c? 200 26ms","method":"GET","requestID":"2d22a6a0-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"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/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.65501,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"2d2f29c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246905,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:32912","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"2d2f50d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:32912","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.945586,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64ed5725-2ac2-47b6-9a07-27c08d485604","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.1826425} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","rebac_allow":false,"scope_allow":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":"2d2f77e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling 200 19ms","method":"POST","requestID":"2d2f77e0-f803-11ee-94dd-ef446cbc77bc","responseTime":19,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc/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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.866513070Z"}]},"request_id":"f8a1e0dd-d575-4522-8847-cf553fc00e8e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.1931398} 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":"2d2f29c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.909148721Z"}]},"request_id":"2a4a3b5a-c27e-426f-8ccd-ac3a7bc88336","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.1958685} 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":"2d2f50d0-f803-11ee-94dd-ef446cbc77bc"},"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/2aed9f48-9387-4e35-b143-5240e360cbfc? 200 31ms","method":"GET","requestID":"2d2f29c0-f803-11ee-94dd-ef446cbc77bc","responseTime":31,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} device_1 | {"level":"info","message":"GET /devices/d6b41620-c62e-4864-858f-884670bd612c? 200 31ms","method":"GET","requestID":"2d2f50d0-f803-11ee-94dd-ef446cbc77bc","responseTime":31,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81526cc6-2137-49b8-b3a1-ea3e6bbdc904#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81526cc6-2137-49b8-b3a1-ea3e6bbdc904","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"f047a38a-b6e7-44f3-aa93-333693b5cdc5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.204602} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70b27763-f423-49a6-ae21-609f5aa91edc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.2046046} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"948caeab-f000-4a5e-bca5-985e5bf5f144","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.2050014} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.354136,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","rebac_allow":false,"scope_allow":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":"2d32fa50-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"level":"info","message":"POST /relations/update 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aeda0bad1c668373d9ee8ffd3282ef0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d6b41620-c62e-4864-858f-884670bd612c/signaling 200 16ms","method":"POST","requestID":"2d32fa50-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ed32f2d-7d57-4f04-aff0-bd499ec06133","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.2145667} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.191708,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d3459e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling 200 17ms","method":"POST","requestID":"2d3459e0-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"aeda0bad1c668373d9ee8ffd3282ef0d","responseTime":186,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aeda0bad1c668373d9ee8ffd3282ef0d"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d4b1249fdd1f9e0cf5c3059b5bccc236","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b01a668f-e042-47b7-860a-fb720c2401c8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.232785} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.472526,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","rebac_allow":false,"scope_allow":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":"2d376720-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.59617,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} device_1 | {"level":"info","message":"POST /devices/d6b41620-c62e-4864-858f-884670bd612c/signaling 200 13ms","method":"POST","requestID":"2d376720-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"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":"463a262a-743b-4c8b-b7fc-bbdb68281bef"},{"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":"350defd2-477a-4906-a54c-b88cfa305e58"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bc673f2d-d968-4ce7-8ce2-309139326422"}]},"level":"info","message":"Built pairwise service configurations"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4b1249fdd1f9e0cf5c3059b5bccc236"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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/2aed9f48-9387-4e35-b143-5240e360cbfc"},{"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/d6b41620-c62e-4864-858f-884670bd612c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.866513070Z"}]},"request_id":"7b79728d-4672-4ff6-9e3d-2924ed051470","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.2457933} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4b1249fdd1f9e0cf5c3059b5bccc236"},"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:53134","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.644718,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"2d3a2640-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2aed9f48-9387-4e35-b143-5240e360cbfc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4b1249fdd1f9e0cf5c3059b5bccc236"} device_1 | {"level":"info","message":"GET /devices/2aed9f48-9387-4e35-b143-5240e360cbfc? 200 26ms","method":"GET","requestID":"d4b1249fdd1f9e0cf5c3059b5bccc236","responseTime":26,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d742f13bf05c2a9779818968b9c2e48","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"4fbd3428-6fa5-4c3f-b0a2-1d5d49d30326","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.266184} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73f3f5f6-d770-4d01-98ba-823017b2d121","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.266762} 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":"2d3a2640-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.826391,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"2d742f13bf05c2a9779818968b9c2e48"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:19.909148721Z"}]},"request_id":"1de2b7f2-29c2-4a98-bae3-922552bc52da","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.2821543} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d742f13bf05c2a9779818968b9c2e48"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49'"} 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 65ms","method":"POST","requestID":"2d3a2640-f803-11ee-94dd-ef446cbc77bc","responseTime":65,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6b41620-c62e-4864-858f-884670bd612c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d742f13bf05c2a9779818968b9c2e48"} device_1 | {"level":"info","message":"GET /devices/d6b41620-c62e-4864-858f-884670bd612c? 200 46ms","method":"GET","requestID":"2d742f13bf05c2a9779818968b9c2e48","responseTime":46,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"4e632eaa-8d13-424c-a53d-3f6277c9ee49","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87370706-539b-492f-8330-d013e7736c9e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.3575382} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.860571,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49' to 'http://localhost/callbacks/experiment'"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d4aa100-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"peerconnection":"4e632eaa-8d13-424c-a53d-3f6277c9ee49","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8e9efc57d45b831c81d1b5dbc0e217ec","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc"},{"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/d6b41620-c62e-4864-858f-884670bd612c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling 200 14ms","method":"POST","requestID":"2d4aa100-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"8e9efc57d45b831c81d1b5dbc0e217ec","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e9efc57d45b831c81d1b5dbc0e217ec"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81a18791-6cac-4c4e-bbaf-4e3cd4df2c50","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.3790371} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.785926,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} device_1 | {"data":{"peerconnection":"4e632eaa-8d13-424c-a53d-3f6277c9ee49","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d4dfc60-f803-11ee-94dd-ef446cbc77bc"},"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/d6b41620-c62e-4864-858f-884670bd612c/signaling 200 15ms","method":"POST","requestID":"2d4dfc60-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c/signaling"} device_1 | {"data":{"peerconnection":"4e632eaa-8d13-424c-a53d-3f6277c9ee49","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/4e632eaa-8d13-424c-a53d-3f6277c9ee49' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4e632eaa-8d13-424c-a53d-3f6277c9ee49","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"436b2091ecb4f91064fdb4c3ceb74e54","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/2aed9f48-9387-4e35-b143-5240e360cbfc"},{"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/d6b41620-c62e-4864-858f-884670bd612c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4e632eaa-8d13-424c-a53d-3f6277c9ee49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"761f42bc-a261-4cae-a2eb-18e55d2de453","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.4304295} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.187693,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49","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":"2d55eba0-f803-11ee-94dd-ef446cbc77bc"},"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/4e632eaa-8d13-424c-a53d-3f6277c9ee49 200 8ms","method":"GET","requestID":"2d55eba0-f803-11ee-94dd-ef446cbc77bc","responseTime":8,"status":200,"url":"/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"436b2091ecb4f91064fdb4c3ceb74e54","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"436b2091ecb4f91064fdb4c3ceb74e54"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d65fe17f-e260-4647-b19f-6ef7319d00a3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.4530237} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.226638,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","rebac_allow":false,"scope_allow":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":"2d596e10-f803-11ee-94dd-ef446cbc77bc"},"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/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling 200 8ms","method":"POST","requestID":"2d596e10-f803-11ee-94dd-ef446cbc77bc","responseTime":8,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"708b74c2-9e80-4e85-8365-5088734055a2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.464273} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.147227,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d5af4b0-f803-11ee-94dd-ef446cbc77bc"},"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/d6b41620-c62e-4864-858f-884670bd612c/signaling 200 10ms","method":"POST","requestID":"2d5af4b0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b72bd83238d788e8f255f837363bd65a","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.220632,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"b72bd83238d788e8f255f837363bd65a"},"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/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"} experiment_1 | {"level":"info","message":"GET /experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904 200 17ms","method":"GET","requestID":"b72bd83238d788e8f255f837363bd65a","responseTime":17,"status":200,"url":"/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b72bd83238d788e8f255f837363bd65a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a6dfcbe3847488b605475c1666fb9b44","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.795156,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"a6dfcbe3847488b605475c1666fb9b44"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.122917,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"2d6a8510-f803-11ee-94dd-ef446cbc77bc"},"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/4e632eaa-8d13-424c-a53d-3f6277c9ee49' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4e632eaa-8d13-424c-a53d-3f6277c9ee49","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b0bf2bbfead2642f4cc1cbe7a63e9c27","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc"},{"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/d6b41620-c62e-4864-858f-884670bd612c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"02adc4789fec789588ab8309dd275c2d","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4e632eaa-8d13-424c-a53d-3f6277c9ee49': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4e632eaa-8d13-424c-a53d-3f6277c9ee49","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"aa1aace8-b3f8-4e5e-87c1-a8ffba3d44ad","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.5896695} 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/2aed9f48-9387-4e35-b143-5240e360cbfc"},{"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/d6b41620-c62e-4864-858f-884670bd612c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"}}},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e005afc5-64bf-44f2-a6d7-13d36f92542e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.5904129} 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":"2d6a8510-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"4e632eaa-8d13-424c-a53d-3f6277c9ee49","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/4e632eaa-8d13-424c-a53d-3f6277c9ee49 204 55ms","method":"DELETE","requestID":"2d6a8510-f803-11ee-94dd-ef446cbc77bc","responseTime":55,"status":204,"url":"/peerconnections/4e632eaa-8d13-424c-a53d-3f6277c9ee49"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2aed9f48-9387-4e35-b143-5240e360cbfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16972891-39fc-4b61-b1e4-c628fd75f85b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.6486976} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.231403,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc","object_type":"device","rebac_allow":false,"scope_allow":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":"2d76e120-f803-11ee-94dd-ef446cbc77bc"},"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/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling 200 15ms","method":"POST","requestID":"2d76e120-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/2aed9f48-9387-4e35-b143-5240e360cbfc/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81526cc6-2137-49b8-b3a1-ea3e6bbdc904': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81526cc6-2137-49b8-b3a1-ea3e6bbdc904","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"aa3d41c4-61f2-4179-9eca-2de60dd27385","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.6593623} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc131bc5-4379-4713-acd5-8bf374d76160","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.6598287} 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":"a6dfcbe3847488b605475c1666fb9b44"},"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:53134","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6b41620-c62e-4864-858f-884670bd612c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81300795-824b-4d17-b8a7-3218ffcd606b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.6685927} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.925176,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c","object_type":"device","rebac_allow":false,"scope_allow":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":"2d79a040-f803-11ee-94dd-ef446cbc77bc"},"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/d6b41620-c62e-4864-858f-884670bd612c/signaling 200 18ms","method":"POST","requestID":"2d79a040-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/d6b41620-c62e-4864-858f-884670bd612c/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904 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":"a6dfcbe3847488b605475c1666fb9b44"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2079","request_time":"2.253","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"335554ebb44e83a7dd49f7622a859d85"} experiment_1 | {"level":"info","message":"DELETE /experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904 204 185ms","method":"DELETE","requestID":"a6dfcbe3847488b605475c1666fb9b44","responseTime":185,"status":204,"url":"/experiments/81526cc6-2137-49b8-b3a1-ea3e6bbdc904"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"b0bf2bbfead2642f4cc1cbe7a63e9c27","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"b0bf2bbfead2642f4cc1cbe7a63e9c27"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"02adc4789fec789588ab8309dd275c2d","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"02adc4789fec789588ab8309dd275c2d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3fcc9d93a29845fde6352258305f48a8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.791","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2ef43b98a9658117264c1663c4120c30"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.00704,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d6b41620-c62e-4864-858f-884670bd612c' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"3fcc9d93a29845fde6352258305f48a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2aed9f48-9387-4e35-b143-5240e360cbfc' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e20a2419-0208-4b44-bdc4-708d57343144","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.7581053} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fcc9d93a29845fde6352258305f48a8"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c807fc3c-8fbe-4cb8-8fb9-fae26574d784","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.76386} 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":"3fcc9d93a29845fde6352258305f48a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"3ea48af4-e5bc-49db-aed7-a737da02ad97","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.7753332} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f83ec91d-9e0b-4389-a4bf-e0865df21511","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.776222} 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":"3fcc9d93a29845fde6352258305f48a8"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.775216898Z"}]},"request_id":"50fc930c-acf0-40a4-8e07-7b299f0a7ba6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.7816098} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fcc9d93a29845fde6352258305f48a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"3fcc9d93a29845fde6352258305f48a8","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fcc9d93a29845fde6352258305f48a8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4a46484b183909e67c6e9d227656445","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.674317,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840302,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwMn0.bBELwChRHdFRojEGwcef9t1zqODoKJAtT0PsHWnLdNE"} 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":"e4a46484b183909e67c6e9d227656445"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ff3bae3-6a9b-4cec-bde1-430d6f35a775","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.807055} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4a46484b183909e67c6e9d227656445"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a94aeff-07c4-484b-a5bc-e54673f3762e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.812414} 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":"e4a46484b183909e67c6e9d227656445"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"ae147a11-7b6d-42ba-9650-bb138882c0d5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.8227313} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4477e941-ade1-4af7-8506-b6aeba5de52b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.8227916} 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":"e4a46484b183909e67c6e9d227656445"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.822699266Z"}]},"request_id":"1bfd0cdc-7d1e-4bb3-a258-82d4d10758ea","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840302.828319} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4a46484b183909e67c6e9d227656445"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"e4a46484b183909e67c6e9d227656445","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4a46484b183909e67c6e9d227656445"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwM30.cqsgQW2AWlD9KQSNq7eewcqN0ZxprlYjyyW5TSfaIL0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c1e559b2d802ed382425bc2b41ea2f29","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:23Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649849,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840303,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwM30.cqsgQW2AWlD9KQSNq7eewcqN0ZxprlYjyyW5TSfaIL0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1e559b2d802ed382425bc2b41ea2f29"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.775216898Z"}]},"request_id":"6e7a267f-d05b-4e98-9eb2-ffed40d73a33","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840303.3342946} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1e559b2d802ed382425bc2b41ea2f29"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a41d5f4-5b06-4209-82ed-a07e2da2ce65","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840303.3406198} 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":"c1e559b2d802ed382425bc2b41ea2f29"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.775216898Z"}]},"request_id":"13c75551-dfa5-459f-92e5-a188d88d57ef","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840303.3663073} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1e559b2d802ed382425bc2b41ea2f29"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c1e559b2d802ed382425bc2b41ea2f29"} device_1 | {"level":"info","message":"PATCH /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd 200 50ms","method":"PATCH","requestID":"c1e559b2d802ed382425bc2b41ea2f29","responseTime":50,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwM30.cqsgQW2AWlD9KQSNq7eewcqN0ZxprlYjyyW5TSfaIL0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13fd694c4849297b9f9fa8a4c3b61eb3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:23Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274716,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840303,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwM30.cqsgQW2AWlD9KQSNq7eewcqN0ZxprlYjyyW5TSfaIL0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13fd694c4849297b9f9fa8a4c3b61eb3"},"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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/websocket 200 24ms","method":"POST","requestID":"13fd694c4849297b9f9fa8a4c3b61eb3","responseTime":24,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"13fd694c4849297b9f9fa8a4c3b61eb3"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"58b7dfc61b8be12ac01f5402d6f97b26","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d030b253-be38-4d03-9edd-bf200abe795c/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":"58b7dfc61b8be12ac01f5402d6f97b26"} device_1 | {"level":"info","message":"OPTIONS /devices/d030b253-be38-4d03-9edd-bf200abe795c/websocket 200 1ms","method":"OPTIONS","requestID":"58b7dfc61b8be12ac01f5402d6f97b26","responseTime":1,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"751208d2b02697be98ba87b7251114b3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311852,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} 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":"751208d2b02697be98ba87b7251114b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d030b253-be38-4d03-9edd-bf200abe795c/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":"751208d2b02697be98ba87b7251114b3"} device_1 | {"level":"info","message":"POST /devices/d030b253-be38-4d03-9edd-bf200abe795c/websocket 200 44ms","method":"POST","requestID":"751208d2b02697be98ba87b7251114b3","responseTime":44,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69f8f37979c3a16b9ff0efd69c88abbc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.05931,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69f8f37979c3a16b9ff0efd69c88abbc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.775216898Z"}]},"request_id":"1583dbe2-cb1a-4269-ace3-8f927d5045b0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840304.9348114} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69f8f37979c3a16b9ff0efd69c88abbc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69f8f37979c3a16b9ff0efd69c88abbc"} device_1 | {"level":"info","message":"GET /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd? 200 19ms","method":"GET","requestID":"69f8f37979c3a16b9ff0efd69c88abbc","responseTime":19,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e06c7d161b8b9540a2d46dfac34ace49","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.325132,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e06c7d161b8b9540a2d46dfac34ace49"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.822699266Z"}]},"request_id":"af5831f7-a7a1-4fb4-9bb0-d0be53bb126a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840304.9636247} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e06c7d161b8b9540a2d46dfac34ace49"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d030b253-be38-4d03-9edd-bf200abe795c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e06c7d161b8b9540a2d46dfac34ace49"} device_1 | {"level":"info","message":"GET /devices/d030b253-be38-4d03-9edd-bf200abe795c? 200 20ms","method":"GET","requestID":"e06c7d161b8b9540a2d46dfac34ace49","responseTime":21,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"86c8377d4773ac90ce415582b7b77621","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:53134","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.181255,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86c8377d4773ac90ce415582b7b77621"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"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:53134","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621348,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} 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":"2ee42cc0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715254,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ee47ae0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.775216898Z"}]},"request_id":"da11be06-17ef-40d7-a8c7-ed26515cc82e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.045633} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ee42cc0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.822699266Z"}]},"request_id":"959ce723-346d-4240-9863-347c778c8340","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.0465014} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ee47ae0-f803-11ee-94dd-ef446cbc77bc"},"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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd? 200 17ms","method":"GET","requestID":"2ee42cc0-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d030b253-be38-4d03-9edd-bf200abe795c? 200 17ms","method":"GET","requestID":"2ee47ae0-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"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/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.022199,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} 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":"2eef9e70-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92706,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:32912","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:32912","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558758,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} 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":"2eefec90-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cbe67d2-94eb-4381-9b43-99ae87ce6ac8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1205177} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","rebac_allow":false,"scope_allow":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":"2ef013a0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.775216898Z"}]},"request_id":"903e0f78-8f7c-40bb-bbee-5bb1ffc06990","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1309326} device_1 | {"level":"info","message":"POST /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling 200 18ms","method":"POST","requestID":"2ef013a0-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/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":"2eef9e70-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.822699266Z"}]},"request_id":"25eef6f8-0985-45ef-9215-589d56b5e1d1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1326919} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2eefec90-f803-11ee-94dd-ef446cbc77bc"},"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":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbac6243-7ba9-4ee6-9b13-36e0c46e7406#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbac6243-7ba9-4ee6-9b13-36e0c46e7406","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"f596e559-6f4c-449e-93ec-f94f4aed1535","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1383533} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a84cc01-5f8d-4c14-b687-f6740795c737","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1386087} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"86c8377d4773ac90ce415582b7b77621"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dec87ee2-58cb-4930-9d6f-fb04bb39f68e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1418588} device_1 | {"level":"info","message":"GET /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd? 200 32ms","method":"GET","requestID":"2eef9e70-f803-11ee-94dd-ef446cbc77bc","responseTime":32,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.787642,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d030b253-be38-4d03-9edd-bf200abe795c? 200 31ms","method":"GET","requestID":"2eefec90-f803-11ee-94dd-ef446cbc77bc","responseTime":31,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","rebac_allow":false,"scope_allow":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":"2ef36f00-f803-11ee-94dd-ef446cbc77bc"},"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/d030b253-be38-4d03-9edd-bf200abe795c/signaling 200 11ms","method":"POST","requestID":"2ef36f00-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 173ms","method":"POST","requestID":"86c8377d4773ac90ce415582b7b77621","responseTime":173,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d613ed4-84ab-4d00-9be4-77723f0ff8bc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.154179} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.981769,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} gateway_1 | {"time_local":"11/Apr/2024:12:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86c8377d4773ac90ce415582b7b77621"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ef543c0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNX0.QagJYvc35EXv2VcjJTeZz2_B8Efz80l13gNu4l1ZFYM","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8d2289f6f65e74f694e6c79386f0f07","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"POST /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling 200 11ms","method":"POST","requestID":"2ef543c0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665799,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840305,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNX0.QagJYvc35EXv2VcjJTeZz2_B8Efz80l13gNu4l1ZFYM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8d2289f6f65e74f694e6c79386f0f07"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"342fe0f2-b34c-4d2a-8ae1-bba448ff981e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1658723} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.416505,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","rebac_allow":false,"scope_allow":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":"2ef766a0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.775216898Z"}]},"request_id":"cfcb1f6e-2898-42b8-8ecf-ce68c4d042da","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.169947} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d030b253-be38-4d03-9edd-bf200abe795c/signaling 200 9ms","method":"POST","requestID":"2ef766a0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c/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":"b8d2289f6f65e74f694e6c79386f0f07"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"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":"901a5f2c-ee39-4f64-a5d9-041eaa84300e"},{"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":"ac0a43a6-3e94-4ad0-8bbc-c7f42489b76b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"49868f6b-6fc8-4c35-a99c-1a5c39787726"}]},"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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd"},{"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/d030b253-be38-4d03-9edd-bf200abe795c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8d2289f6f65e74f694e6c79386f0f07"} device_1 | {"level":"info","message":"GET /devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd? 200 16ms","method":"GET","requestID":"b8d2289f6f65e74f694e6c79386f0f07","responseTime":16,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.797572,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840304,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNH0.dNEI5i4JEelN8clWsved9RIjxdbCKJm3DIXX6akEh48"} 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":"2ef93b60-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNX0.QagJYvc35EXv2VcjJTeZz2_B8Efz80l13gNu4l1ZFYM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e17e0e757f9fdab9347e9ffe22a50413","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837457,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840305,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNX0.QagJYvc35EXv2VcjJTeZz2_B8Efz80l13gNu4l1ZFYM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e17e0e757f9fdab9347e9ffe22a50413"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"40b24894-a177-4003-ae47-188e59dbb408","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.189863} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5e4054f-dbc4-4317-a09c-4221ddbdf6e2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1900818} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:22.822699266Z"}]},"request_id":"37e6d5a2-d0ad-48c0-b094-a0a58bf4803b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.1906729} 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":"2ef93b60-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e17e0e757f9fdab9347e9ffe22a50413"},"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/d030b253-be38-4d03-9edd-bf200abe795c? 200 15ms","method":"GET","requestID":"e17e0e757f9fdab9347e9ffe22a50413","responseTime":15,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d030b253-be38-4d03-9edd-bf200abe795c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e17e0e757f9fdab9347e9ffe22a50413"} 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/b0e7e740-6830-4295-984a-84c2eb210aa8'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 52ms","method":"POST","requestID":"2ef93b60-f803-11ee-94dd-ef446cbc77bc","responseTime":52,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4ee7d80-7831-4d07-a979-326f9099e12c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.2646332} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.975735,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f0633b0-f803-11ee-94dd-ef446cbc77bc"},"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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling 200 10ms","method":"POST","requestID":"2f0633b0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70f56f38-986f-44d5-8a69-2160f9508699","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840305.2761874} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.825174,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:25Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f080870-f803-11ee-94dd-ef446cbc77bc"},"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/d030b253-be38-4d03-9edd-bf200abe795c/signaling 200 10ms","method":"POST","requestID":"2f080870-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c/signaling"} device_1 | {"data":{"peerconnection":"b0e7e740-6830-4295-984a-84c2eb210aa8","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/b0e7e740-6830-4295-984a-84c2eb210aa8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b0e7e740-6830-4295-984a-84c2eb210aa8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"642b147504a1ec8a2e00609e0f6bafa9","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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd"},{"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/d030b253-be38-4d03-9edd-bf200abe795c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"642b147504a1ec8a2e00609e0f6bafa9","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"642b147504a1ec8a2e00609e0f6bafa9"} device_1 | {"data":{"peerconnection":"b0e7e740-6830-4295-984a-84c2eb210aa8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"b0e7e740-6830-4295-984a-84c2eb210aa8","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/b0e7e740-6830-4295-984a-84c2eb210aa8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b0e7e740-6830-4295-984a-84c2eb210aa8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c90c64f8ae243e557f9965c82c5744ca","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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd"},{"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/d030b253-be38-4d03-9edd-bf200abe795c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0e7e740-6830-4295-984a-84c2eb210aa8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2d6d469-1158-4b2b-b6a7-374010f6c3ac","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.3569975} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.836713,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8","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":"2fac85d0-f803-11ee-94dd-ef446cbc77bc"},"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/b0e7e740-6830-4295-984a-84c2eb210aa8 200 16ms","method":"GET","requestID":"2fac85d0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"c90c64f8ae243e557f9965c82c5744ca","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"c90c64f8ae243e557f9965c82c5744ca"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aee8c757-ebbe-4f73-9f1a-6bb8a705c2e2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.3975742} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.017276,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","rebac_allow":false,"scope_allow":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":"2fb2ee70-f803-11ee-94dd-ef446cbc77bc"},"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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling 200 14ms","method":"POST","requestID":"2fb2ee70-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1991da85-e4b8-4888-99c7-8421fa9c0d35","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.4145136} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.973855,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","rebac_allow":false,"scope_allow":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":"2fb58680-f803-11ee-94dd-ef446cbc77bc"},"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/d030b253-be38-4d03-9edd-bf200abe795c/signaling 200 14ms","method":"POST","requestID":"2fb58680-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"adfcb0a08c08090b14aa29190d9fb4cf","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.714992,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840306,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y"} 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":"adfcb0a08c08090b14aa29190d9fb4cf"},"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/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"adfcb0a08c08090b14aa29190d9fb4cf"} experiment_1 | {"level":"info","message":"GET /experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406 200 12ms","method":"GET","requestID":"adfcb0a08c08090b14aa29190d9fb4cf","responseTime":12,"status":200,"url":"/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e94e7c90665f82c3276f33f1c1753176","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.057774,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840306,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y"} 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":"e94e7c90665f82c3276f33f1c1753176"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.264393,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840306,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y"} 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":"2fbdc3e0-f803-11ee-94dd-ef446cbc77bc"},"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/b0e7e740-6830-4295-984a-84c2eb210aa8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"b0e7e740-6830-4295-984a-84c2eb210aa8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0e7e740-6830-4295-984a-84c2eb210aa8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0e7e740-6830-4295-984a-84c2eb210aa8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"02da131f-e96e-4c42-9793-f1f22f567bb0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.4865751} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e24f7e8aa25280388d7c588d4f7a39f7","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2dae7424-bf4d-45d3-be2e-d80e10f3f59e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.4871678} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f4c116f99ebd5f2a928d6e77c4b461b","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":"closed","url":"http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd"},{"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/d030b253-be38-4d03-9edd-bf200abe795c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fbdc3e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd"},{"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/d030b253-be38-4d03-9edd-bf200abe795c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"b0e7e740-6830-4295-984a-84c2eb210aa8","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/b0e7e740-6830-4295-984a-84c2eb210aa8 204 61ms","method":"DELETE","requestID":"2fbdc3e0-f803-11ee-94dd-ef446cbc77bc","responseTime":61,"status":204,"url":"/peerconnections/b0e7e740-6830-4295-984a-84c2eb210aa8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ca4ff63-9397-4020-a0f1-16d1fa6fb4a4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.5510623} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.073605,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd","object_type":"device","rebac_allow":false,"scope_allow":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":"2fca4700-f803-11ee-94dd-ef446cbc77bc"},"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/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling 200 14ms","method":"POST","requestID":"2fca4700-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbac6243-7ba9-4ee6-9b13-36e0c46e7406': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbac6243-7ba9-4ee6-9b13-36e0c46e7406","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"f28b517e-669b-4046-bfc3-5e29a0db97c5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.5612695} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cfd31eb-5404-4b2b-b7ef-85e7c522d9ec","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.561557} 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":"e94e7c90665f82c3276f33f1c1753176"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd030b253-be38-4d03-9edd-bf200abe795c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac9ce528-1dbc-4e00-8aa4-3653b1f3d892","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.565684} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739813,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fccb800-f803-11ee-94dd-ef446cbc77bc"},"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/d030b253-be38-4d03-9edd-bf200abe795c/signaling 200 11ms","method":"POST","requestID":"2fccb800-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/d030b253-be38-4d03-9edd-bf200abe795c/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406 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":"e94e7c90665f82c3276f33f1c1753176"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2398","request_time":"3.224","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2f019d6fd28d5b0fe86ba120437145b4"} experiment_1 | {"level":"info","message":"DELETE /experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406 204 184ms","method":"DELETE","requestID":"e94e7c90665f82c3276f33f1c1753176","responseTime":184,"status":204,"url":"/experiments/bbac6243-7ba9-4ee6-9b13-36e0c46e7406"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"e24f7e8aa25280388d7c588d4f7a39f7","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"e24f7e8aa25280388d7c588d4f7a39f7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"0f4c116f99ebd5f2a928d6e77c4b461b","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f4c116f99ebd5f2a928d6e77c4b461b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"03ac3fa74f53558ffa86a1e59c20da1a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2156","request_time":"1.742","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e22128cfedf2ddc6a05789360de5f0f0"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.031283,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f6721dcc-3d07-4b10-a4c3-8e5d03dcfefd' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840306,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y"} 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":"03ac3fa74f53558ffa86a1e59c20da1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d030b253-be38-4d03-9edd-bf200abe795c' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc6fa07d-7997-4597-bd1c-fca1f2cb428c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.657706} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03ac3fa74f53558ffa86a1e59c20da1a"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de9f9f5e-7cd7-41c3-acdd-9138e1a5471e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.6625426} 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":"03ac3fa74f53558ffa86a1e59c20da1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"838b606f-5375-4725-8df8-e325743958b5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.6722877} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1941574-93ba-43b8-8191-8e83241b0b09","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.6724355} 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":"03ac3fa74f53558ffa86a1e59c20da1a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.672264345Z"}]},"request_id":"994bf9f6-a514-4ba3-8c78-f3aa99b89521","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.6777856} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03ac3fa74f53558ffa86a1e59c20da1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"03ac3fa74f53558ffa86a1e59c20da1a","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03ac3fa74f53558ffa86a1e59c20da1a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8cbeec7267c11893beda197944fe05f7","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.72221,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:26Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840306,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwNn0.9yLhO2WCHucLHADgHVPP50pCsRdYnztkHoH3fqAzT6Y"} 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":"8cbeec7267c11893beda197944fe05f7"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8c05db2d-7890-4481-8454-4f8964af3342","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.703039} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cbeec7267c11893beda197944fe05f7"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71dee71e-947f-4efb-864b-93b8d49470a1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.7090037} 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":"8cbeec7267c11893beda197944fe05f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"561f5339-ffa8-4910-a440-ec20961e8785","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.719099} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2099d4f6-0ad7-4772-ad9e-d2764f0d14a1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.719194} 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":"8cbeec7267c11893beda197944fe05f7"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.719067726Z"}]},"request_id":"f6b9fcb0-8bd5-42ac-a89c-132422777b82","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840306.7246828} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8cbeec7267c11893beda197944fe05f7"},"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":"8cbeec7267c11893beda197944fe05f7","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8cbeec7267c11893beda197944fe05f7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwN30.NgXA7Jeixh2Xryr3RNclb4omlZq3k9FV-8KzVQTP718","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3795182d355085a462e69dbe26880b1c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:27Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132222,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840307,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwN30.NgXA7Jeixh2Xryr3RNclb4omlZq3k9FV-8KzVQTP718"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3795182d355085a462e69dbe26880b1c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.672264345Z"}]},"request_id":"8b12f34f-5a2b-4362-be94-557d27d13576","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840307.208787} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3795182d355085a462e69dbe26880b1c"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a1fbe09-ad89-4b9b-8563-6c10bc8a5b75","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840307.2161462} 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":"3795182d355085a462e69dbe26880b1c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.672264345Z"}]},"request_id":"67553a44-dc01-4b8b-9467-7784df71a4fc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840307.2326756} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3795182d355085a462e69dbe26880b1c"},"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/59734c93-29c0-49ff-a572-d4a3691805eb 200 40ms","method":"PATCH","requestID":"3795182d355085a462e69dbe26880b1c","responseTime":40,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb"} gateway_1 | {"time_local":"11/Apr/2024:12:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/59734c93-29c0-49ff-a572-d4a3691805eb HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3795182d355085a462e69dbe26880b1c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwN30.NgXA7Jeixh2Xryr3RNclb4omlZq3k9FV-8KzVQTP718","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fa295d661f7a5e4d0793951248f6eb74","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:27Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.323784,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840307,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwN30.NgXA7Jeixh2Xryr3RNclb4omlZq3k9FV-8KzVQTP718"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa295d661f7a5e4d0793951248f6eb74"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/59734c93-29c0-49ff-a572-d4a3691805eb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fa295d661f7a5e4d0793951248f6eb74"} device_1 | {"level":"info","message":"POST /devices/59734c93-29c0-49ff-a572-d4a3691805eb/websocket 200 21ms","method":"POST","requestID":"fa295d661f7a5e4d0793951248f6eb74","responseTime":21,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9afc658ef34743ab2a218bf21004fc1f","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/44634901-c947-491f-b3b7-e7d53d008cdd/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":"9afc658ef34743ab2a218bf21004fc1f"} device_1 | {"level":"info","message":"OPTIONS /devices/44634901-c947-491f-b3b7-e7d53d008cdd/websocket 200 1ms","method":"OPTIONS","requestID":"9afc658ef34743ab2a218bf21004fc1f","responseTime":1,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ce1c6f97a4ea34a84effbe438b0c05e3","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.548076,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} 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":"ce1c6f97a4ea34a84effbe438b0c05e3"},"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/44634901-c947-491f-b3b7-e7d53d008cdd/websocket 200 35ms","method":"POST","requestID":"ce1c6f97a4ea34a84effbe438b0c05e3","responseTime":35,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/44634901-c947-491f-b3b7-e7d53d008cdd/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":"ce1c6f97a4ea34a84effbe438b0c05e3"} device_1 | {"level":"info","message":"device 'http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1aa11f69a4592fe629a6700628cab0ad","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159744,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} 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":"1aa11f69a4592fe629a6700628cab0ad"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.672264345Z"}]},"request_id":"6497e28d-bc4d-47dc-a8c5-f75d7dbed329","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.779265} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1aa11f69a4592fe629a6700628cab0ad"},"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/59734c93-29c0-49ff-a572-d4a3691805eb? 200 20ms","method":"GET","requestID":"1aa11f69a4592fe629a6700628cab0ad","responseTime":20,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59734c93-29c0-49ff-a572-d4a3691805eb? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1aa11f69a4592fe629a6700628cab0ad"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e9fb7f5de21d2237ba252fa976ebd52","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.048736,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e9fb7f5de21d2237ba252fa976ebd52"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.719067726Z"}]},"request_id":"4c2a95d0-6033-4e1f-a20d-d82706487bc8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.8038418} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e9fb7f5de21d2237ba252fa976ebd52"},"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/44634901-c947-491f-b3b7-e7d53d008cdd? 200 18ms","method":"GET","requestID":"7e9fb7f5de21d2237ba252fa976ebd52","responseTime":18,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44634901-c947-491f-b3b7-e7d53d008cdd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e9fb7f5de21d2237ba252fa976ebd52"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"215fc313f3f8d1cf439eb49990399ebf","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:53134","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.158576,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} 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":"215fc313f3f8d1cf439eb49990399ebf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"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:53134","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946886,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"312df5b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672847,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"312e1cc0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.672264345Z"}]},"request_id":"554aa1c7-e1eb-454e-ba14-e739a6adfd78","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.8835266} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"312df5b0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.719067726Z"}]},"request_id":"8f3a49c1-de8c-496e-a8e0-c9e6bc4ca25d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.88525} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"312e1cc0-f803-11ee-94dd-ef446cbc77bc"},"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/59734c93-29c0-49ff-a572-d4a3691805eb? 200 16ms","method":"GET","requestID":"312df5b0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/44634901-c947-491f-b3b7-e7d53d008cdd? 200 16ms","method":"GET","requestID":"312e1cc0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"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:53134","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.501446,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} 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":"31382ee0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055902,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} 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":"31387d00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.769661,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e00fa7c5-434b-435d-9f92-8994a38d1f58","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.9562747} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","rebac_allow":false,"scope_allow":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":"3138cb20-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.672264345Z"}]},"request_id":"bf73f26c-7fdc-47b8-bc5b-8d27824e6c54","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.9623806} 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":"31382ee0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.719067726Z"}]},"request_id":"fa5eb516-b728-4ffd-9875-16890804e9df","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.9667344} 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":"31387d00-f803-11ee-94dd-ef446cbc77bc"},"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/59734c93-29c0-49ff-a572-d4a3691805eb/signaling 200 25ms","method":"POST","requestID":"3138cb20-f803-11ee-94dd-ef446cbc77bc","responseTime":25,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/59734c93-29c0-49ff-a572-d4a3691805eb? 200 36ms","method":"GET","requestID":"31382ee0-f803-11ee-94dd-ef446cbc77bc","responseTime":36,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/44634901-c947-491f-b3b7-e7d53d008cdd? 200 35ms","method":"GET","requestID":"31387d00-f803-11ee-94dd-ef446cbc77bc","responseTime":35,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"290c0727-b133-4fe4-ab56-486fe208c0db","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.9834814} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5c024c5-b699-4dce-8640-031db25ddb23","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.9835854} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98699f54-6df1-47db-95b7-5e6328f1d56e#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98699f54-6df1-47db-95b7-5e6328f1d56e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"46af23c7-6b90-4048-b63f-a608efa7176d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.983822} authorization_1 | {"level":"info","message":"POST /relations/update 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"215fc313f3f8d1cf439eb49990399ebf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":32}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.382204,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","rebac_allow":false,"scope_allow":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":"313d10e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.12849,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:28Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bab238df-008e-4f2b-b488-7eec33c5e60e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840308.9900355} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"313e4960-f803-11ee-94dd-ef446cbc77bc"},"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/44634901-c947-491f-b3b7-e7d53d008cdd/signaling 200 23ms","method":"POST","requestID":"313d10e0-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd/signaling"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/59734c93-29c0-49ff-a572-d4a3691805eb/signaling 200 15ms","method":"POST","requestID":"313e4960-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"215fc313f3f8d1cf439eb49990399ebf","responseTime":180,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"215fc313f3f8d1cf439eb49990399ebf"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOX0.i1ROiBAgBdi9QOleX8ApD6PcK5q_O6bxCmXS3coS1z0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24678290742a7bb1e49fb599740374dc","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:29Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c93b9a0-f924-4dfd-a723-565b119af294","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840309.0061495} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.783847,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31412f90-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.810741,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840309,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOX0.i1ROiBAgBdi9QOleX8ApD6PcK5q_O6bxCmXS3coS1z0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24678290742a7bb1e49fb599740374dc"},"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/44634901-c947-491f-b3b7-e7d53d008cdd/signaling 200 12ms","method":"POST","requestID":"31412f90-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd/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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.672264345Z"}]},"request_id":"64b73f99-c1b8-467b-8221-298c27f21321","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840309.0135868} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"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":"5641c899-9a1d-4393-9961-924c97d9c326"},{"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":"d44530f5-19b9-49ee-a9fe-9058b0b3562d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"40168525-3874-41d5-aa87-34fea48ec7a7"}]},"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/59734c93-29c0-49ff-a572-d4a3691805eb"},{"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/44634901-c947-491f-b3b7-e7d53d008cdd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24678290742a7bb1e49fb599740374dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.794949,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:29Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840308,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOH0.XfUineUHV6Jx71nL0PsPlV9PFfFmGkCGIlgqWYjmDEY"} gateway_1 | {"time_local":"11/Apr/2024:12:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59734c93-29c0-49ff-a572-d4a3691805eb? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24678290742a7bb1e49fb599740374dc"} device_1 | {"level":"info","message":"GET /devices/59734c93-29c0-49ff-a572-d4a3691805eb? 200 18ms","method":"GET","requestID":"24678290742a7bb1e49fb599740374dc","responseTime":18,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb?"} 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":"31437980-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOX0.i1ROiBAgBdi9QOleX8ApD6PcK5q_O6bxCmXS3coS1z0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1daeb71ee0aac4bdfca9073f82629db","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"70dd2d6d-3d87-4521-a01f-8dc93eb64c2c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840309.0300303} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2cdb3cd-170f-49c7-b713-16ca3aaf17e1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840309.030467} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824253,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31437980-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840309,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMwOX0.i1ROiBAgBdi9QOleX8ApD6PcK5q_O6bxCmXS3coS1z0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1daeb71ee0aac4bdfca9073f82629db"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:26.719067726Z"}]},"request_id":"44e3e9f3-feb7-4236-89fd-478e3b19f3c9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840309.0379047} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1daeb71ee0aac4bdfca9073f82629db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8'"} 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":"31437980-f803-11ee-94dd-ef446cbc77bc","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":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44634901-c947-491f-b3b7-e7d53d008cdd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1daeb71ee0aac4bdfca9073f82629db"} device_1 | {"level":"info","message":"GET /devices/44634901-c947-491f-b3b7-e7d53d008cdd? 200 24ms","method":"GET","requestID":"e1daeb71ee0aac4bdfca9073f82629db","responseTime":24,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07d5ba95-1488-402f-bfad-c25684c5c6f5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840309.082786} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.764704,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"314cef60-f803-11ee-94dd-ef446cbc77bc"},"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/59734c93-29c0-49ff-a572-d4a3691805eb/signaling 200 9ms","method":"POST","requestID":"314cef60-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9faad1f-f966-4da9-9bb0-677b1a5e62a2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840309.0941803} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.49642,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"314e9d10-f803-11ee-94dd-ef446cbc77bc"},"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/44634901-c947-491f-b3b7-e7d53d008cdd/signaling 200 10ms","method":"POST","requestID":"314e9d10-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd/signaling"} device_1 | {"data":{"peerconnection":"873582d5-0793-4298-9b69-269c1e08f9a8","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/873582d5-0793-4298-9b69-269c1e08f9a8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"873582d5-0793-4298-9b69-269c1e08f9a8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78809745745454af1a7f5acf5412bba3","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/59734c93-29c0-49ff-a572-d4a3691805eb"},{"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/44634901-c947-491f-b3b7-e7d53d008cdd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"78809745745454af1a7f5acf5412bba3","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"78809745745454af1a7f5acf5412bba3"} device_1 | {"data":{"peerconnection":"873582d5-0793-4298-9b69-269c1e08f9a8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"873582d5-0793-4298-9b69-269c1e08f9a8","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/873582d5-0793-4298-9b69-269c1e08f9a8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"873582d5-0793-4298-9b69-269c1e08f9a8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"095dda769dd953e81d53c473820e9857","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/59734c93-29c0-49ff-a572-d4a3691805eb"},{"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/44634901-c947-491f-b3b7-e7d53d008cdd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F873582d5-0793-4298-9b69-269c1e08f9a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6f37f29-7ea9-4496-8e44-d0346a3f5db6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.1745503} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.890068,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8","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":"31f31a70-f803-11ee-94dd-ef446cbc77bc"},"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/873582d5-0793-4298-9b69-269c1e08f9a8 200 15ms","method":"GET","requestID":"31f31a70-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"095dda769dd953e81d53c473820e9857","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"095dda769dd953e81d53c473820e9857"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"079bb1e7-1443-4970-8d9a-b94b4ff7e950","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.2113469} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.970194,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","rebac_allow":false,"scope_allow":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":"31f8bfc0-f803-11ee-94dd-ef446cbc77bc"},"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/59734c93-29c0-49ff-a572-d4a3691805eb/signaling 200 15ms","method":"POST","requestID":"31f8bfc0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6bd4a95-41db-4f56-9a13-eddb9de7b8e9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.2300847} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.579324,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","rebac_allow":false,"scope_allow":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":"31fb7ee0-f803-11ee-94dd-ef446cbc77bc"},"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/44634901-c947-491f-b3b7-e7d53d008cdd/signaling 200 17ms","method":"POST","requestID":"31fb7ee0-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3dd6eb99c3b3697fec322908d84665e0","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.403183,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840310,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY"} 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":"3dd6eb99c3b3697fec322908d84665e0"},"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/98699f54-6df1-47db-95b7-5e6328f1d56e"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98699f54-6df1-47db-95b7-5e6328f1d56e 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":"3dd6eb99c3b3697fec322908d84665e0"} experiment_1 | {"level":"info","message":"GET /experiments/98699f54-6df1-47db-95b7-5e6328f1d56e 200 17ms","method":"GET","requestID":"3dd6eb99c3b3697fec322908d84665e0","responseTime":17,"status":200,"url":"/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5fb83f49367a67c12f62d0a3007be981","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.159005,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840310,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY"} 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":"5fb83f49367a67c12f62d0a3007be981"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.152966,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840310,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY"} 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":"32062d40-f803-11ee-94dd-ef446cbc77bc"},"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/873582d5-0793-4298-9b69-269c1e08f9a8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"873582d5-0793-4298-9b69-269c1e08f9a8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b043a5d299372f8e5055a0a750d10e6c","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb"},{"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/44634901-c947-491f-b3b7-e7d53d008cdd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"66bd2366c7e221fe7dd268d42b7fbd81","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F873582d5-0793-4298-9b69-269c1e08f9a8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F873582d5-0793-4298-9b69-269c1e08f9a8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"6b340469-d92d-4335-a777-447bfe3fa462","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.3226268} 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/59734c93-29c0-49ff-a572-d4a3691805eb"},{"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/44634901-c947-491f-b3b7-e7d53d008cdd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8"}}},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8961ef7-936a-43f7-87be-580c7c14f46a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.3233535} 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":"32062d40-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"data":{"peerconnection":"873582d5-0793-4298-9b69-269c1e08f9a8","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/873582d5-0793-4298-9b69-269c1e08f9a8 204 58ms","method":"DELETE","requestID":"32062d40-f803-11ee-94dd-ef446cbc77bc","responseTime":58,"status":204,"url":"/peerconnections/873582d5-0793-4298-9b69-269c1e08f9a8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59734c93-29c0-49ff-a572-d4a3691805eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77ac16da-471c-43ea-96d3-0318741a9615","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.381765} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.129348,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59734c93-29c0-49ff-a572-d4a3691805eb","object_type":"device","rebac_allow":false,"scope_allow":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":"3212d770-f803-11ee-94dd-ef446cbc77bc"},"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/59734c93-29c0-49ff-a572-d4a3691805eb/signaling 200 15ms","method":"POST","requestID":"3212d770-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/59734c93-29c0-49ff-a572-d4a3691805eb/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98699f54-6df1-47db-95b7-5e6328f1d56e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98699f54-6df1-47db-95b7-5e6328f1d56e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"4305687e-d1be-4825-a506-a68c93ed26bb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.3927462} 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ec60cee-f063-4d6a-8c9b-596ad563f617","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.3929503} 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":"5fb83f49367a67c12f62d0a3007be981"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44634901-c947-491f-b3b7-e7d53d008cdd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a1907b6-016b-4c00-bb9d-9b83271a8595","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.400761} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.765246,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44634901-c947-491f-b3b7-e7d53d008cdd","object_type":"device","rebac_allow":false,"scope_allow":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":"32156f80-f803-11ee-94dd-ef446cbc77bc"},"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/44634901-c947-491f-b3b7-e7d53d008cdd/signaling 200 16ms","method":"POST","requestID":"32156f80-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/44634901-c947-491f-b3b7-e7d53d008cdd/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/98699f54-6df1-47db-95b7-5e6328f1d56e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5fb83f49367a67c12f62d0a3007be981"} experiment_1 | {"level":"info","message":"DELETE /experiments/98699f54-6df1-47db-95b7-5e6328f1d56e 204 184ms","method":"DELETE","requestID":"5fb83f49367a67c12f62d0a3007be981","responseTime":184,"status":204,"url":"/experiments/98699f54-6df1-47db-95b7-5e6328f1d56e"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2400","request_time":"3.193","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"52a11657ecf0967c274d6cb6f05eab99"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"b043a5d299372f8e5055a0a750d10e6c","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"b043a5d299372f8e5055a0a750d10e6c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"66bd2366c7e221fe7dd268d42b7fbd81","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"66bd2366c7e221fe7dd268d42b7fbd81"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c08fc45bc8c2733dc3db131ca49ff2fb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.052133,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840310,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2156","request_time":"1.735","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"702a06f485ef7e73ba144fd95cc42977"} 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":"c08fc45bc8c2733dc3db131ca49ff2fb"},"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/59734c93-29c0-49ff-a572-d4a3691805eb' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"222f11da-ed58-4ace-b1d3-0d20f9aa9bd0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.4882195} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c08fc45bc8c2733dc3db131ca49ff2fb"},"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/44634901-c947-491f-b3b7-e7d53d008cdd' 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efba5674-8630-4bd4-9d34-475efbafd579","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.4940586} 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":"c08fc45bc8c2733dc3db131ca49ff2fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"a77550c0-3cb9-49ff-8f9a-050bad8d7c06","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5044725} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6442c05-d762-4a3f-9031-2a5f250eb75d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5048687} 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":"c08fc45bc8c2733dc3db131ca49ff2fb"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.504296806Z"}]},"request_id":"55549664-c80f-49a2-af2d-9b75f166ae46","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5103126} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c08fc45bc8c2733dc3db131ca49ff2fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"c08fc45bc8c2733dc3db131ca49ff2fb","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c08fc45bc8c2733dc3db131ca49ff2fb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"77666cbcbd6a8089050c73b6200e6374","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.896749,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840310,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMH0.5rIft3GyWSta_qLhpaDZI3oA-uhHLv17kub9jb1gEDY"} 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":"77666cbcbd6a8089050c73b6200e6374"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ad07288b-9223-444a-bc94-f9c5c5cba49d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5374973} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77666cbcbd6a8089050c73b6200e6374"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"052dd8f2-c8e7-4967-b564-42787bd82b59","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5424435} 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":"77666cbcbd6a8089050c73b6200e6374"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"9862489a-8ee5-449b-8709-92c4cca01fc8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5536897} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3b4f849-c1d6-4042-af33-53571b03107c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5539994} 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":"77666cbcbd6a8089050c73b6200e6374"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.553666984Z"}]},"request_id":"3bc48aa8-fa9e-4e50-b305-757f4a3612a8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840310.5583227} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77666cbcbd6a8089050c73b6200e6374"},"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":"77666cbcbd6a8089050c73b6200e6374","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77666cbcbd6a8089050c73b6200e6374"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5f92acd9df4043d09c80547ea1adbbfc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888832,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"5f92acd9df4043d09c80547ea1adbbfc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"482ac104b646a1b719474bc84ec2722b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916853,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"482ac104b646a1b719474bc84ec2722b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.504296806Z"}]},"request_id":"a315e819-1947-467e-971f-facbbeaf0360","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.033821} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f92acd9df4043d09c80547ea1adbbfc"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9d589e4-06de-4129-8618-85afcceaa8ce","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.04167} 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":"5f92acd9df4043d09c80547ea1adbbfc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.553666984Z"}]},"request_id":"fa6d77f3-b765-40cc-a51a-8bee76b9c1f0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.0433393} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"482ac104b646a1b719474bc84ec2722b"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a25040f-0588-480a-b115-65a5437519cb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.0483181} 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":"482ac104b646a1b719474bc84ec2722b"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.504296806Z"}]},"request_id":"4525531f-71bc-43f2-a72f-a3a3ebd7a835","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.0639663} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f92acd9df4043d09c80547ea1adbbfc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/797422a5-a7bc-4d49-96d1-03454004bedf HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5f92acd9df4043d09c80547ea1adbbfc"} device_1 | {"level":"info","message":"PATCH /devices/797422a5-a7bc-4d49-96d1-03454004bedf 200 46ms","method":"PATCH","requestID":"5f92acd9df4043d09c80547ea1adbbfc","responseTime":46,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8dccd69710e0c373ed3caf42c60e93a","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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.553666984Z"}]},"request_id":"14e0b3d5-6f8e-49fa-ad61-0f827dddbc7e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.0753644} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"482ac104b646a1b719474bc84ec2722b"},"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:53134","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026386,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"482ac104b646a1b719474bc84ec2722b"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8dccd69710e0c373ed3caf42c60e93a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"PATCH /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16 200 51ms","method":"PATCH","requestID":"482ac104b646a1b719474bc84ec2722b","responseTime":51,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2a3e26bff65620433d00342d1a932164","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768716,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"2a3e26bff65620433d00342d1a932164"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/797422a5-a7bc-4d49-96d1-03454004bedf/websocket 200 18ms","method":"POST","requestID":"b8dccd69710e0c373ed3caf42c60e93a","responseTime":18,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/797422a5-a7bc-4d49-96d1-03454004bedf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b8dccd69710e0c373ed3caf42c60e93a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2a3e26bff65620433d00342d1a932164"} device_1 | {"level":"info","message":"POST /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/websocket 200 19ms","method":"POST","requestID":"2a3e26bff65620433d00342d1a932164","responseTime":19,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e78360969b358de183a01d3dae74301f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988117,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"e78360969b358de183a01d3dae74301f"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.504296806Z"}]},"request_id":"dbc30cd9-2b77-45f4-b8b1-e80726c295b4","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.135739} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e78360969b358de183a01d3dae74301f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/797422a5-a7bc-4d49-96d1-03454004bedf? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e78360969b358de183a01d3dae74301f"} device_1 | {"level":"info","message":"GET /devices/797422a5-a7bc-4d49-96d1-03454004bedf? 200 12ms","method":"GET","requestID":"e78360969b358de183a01d3dae74301f","responseTime":12,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"370be509de6551be449686a436380bd2","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252721,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"370be509de6551be449686a436380bd2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.553666984Z"}]},"request_id":"56973025-0f40-40ee-86dc-1dffacc16358","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.1598883} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"370be509de6551be449686a436380bd2"},"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16? 200 17ms","method":"GET","requestID":"370be509de6551be449686a436380bd2","responseTime":17,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"370be509de6551be449686a436380bd2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bdd561634ea23389118bc60a011dc09f","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:53134","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.631387,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"bdd561634ea23389118bc60a011dc09f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"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:53134","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153968,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"329574f0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.169384,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"3295c310-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.504296806Z"}]},"request_id":"46d40234-1cdd-4cb7-810d-fc10a6538a6b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.245222} 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":"329574f0-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.553666984Z"}]},"request_id":"602cd2f7-3773-415f-88e0-94981e896c1f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.2466745} 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":"3295c310-f803-11ee-94dd-ef446cbc77bc"},"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/797422a5-a7bc-4d49-96d1-03454004bedf? 200 26ms","method":"GET","requestID":"329574f0-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16? 200 26ms","method":"GET","requestID":"3295c310-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"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/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Successfully running experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.138161,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"32a1f810-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18706,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"32a24630-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.01549,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd24f07d-d5c7-4d5b-a408-f90e8c6942e5","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.327838} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","rebac_allow":false,"scope_allow":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":"32a29450-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.504296806Z"}]},"request_id":"409ad948-7000-4afe-a407-8297e4cb819f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3319352} 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":"32a1f810-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.553666984Z"}]},"request_id":"c5032220-e0d9-41e0-b897-eed15dfa5b46","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3350437} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/797422a5-a7bc-4d49-96d1-03454004bedf/signaling 200 22ms","method":"POST","requestID":"32a29450-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf/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":"32a24630-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1c0ffab-07e3-48a0-b8b9-290f486f3f42#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1c0ffab-07e3-48a0-b8b9-290f486f3f42","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"b596e52b-807b-4922-b8d2-ebf241df4f55","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3385994} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56a42785-1cf0-48ec-95eb-a2a3f85997e9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.339061} 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":"bdd561634ea23389118bc60a011dc09f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/797422a5-a7bc-4d49-96d1-03454004bedf? 200 32ms","method":"GET","requestID":"32a1f810-f803-11ee-94dd-ef446cbc77bc","responseTime":32,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16? 200 32ms","method":"GET","requestID":"32a24630-f803-11ee-94dd-ef446cbc77bc","responseTime":32,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"687856f2-7bc5-4719-879a-f6d8c3c3f84b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3486116} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.424411,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","rebac_allow":false,"scope_allow":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":"32a68bf0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"bdd561634ea23389118bc60a011dc09f","responseTime":179,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdd561634ea23389118bc60a011dc09f"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling 200 13ms","method":"POST","requestID":"32a68bf0-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"417dfbd5-202e-4461-a763-2c7518c93f86","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3576458} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.325637,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4de1ecbfe60331d0cd4f86fff5963087","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","rebac_allow":false,"scope_allow":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":"32a7eb80-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.059165,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} device_1 | {"level":"info","message":"POST /devices/797422a5-a7bc-4d49-96d1-03454004bedf/signaling 200 12ms","method":"POST","requestID":"32a7eb80-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4de1ecbfe60331d0cd4f86fff5963087"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.504296806Z"}]},"request_id":"c629c00d-94b6-4fe5-bae0-80f185f74fb8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3718655} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa7f2496-9f6b-49b6-93cf-795ad2e1b4e3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3720915} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4de1ecbfe60331d0cd4f86fff5963087"},"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:53134","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806909,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","rebac_allow":false,"scope_allow":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":"32aa0e60-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/797422a5-a7bc-4d49-96d1-03454004bedf? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4de1ecbfe60331d0cd4f86fff5963087"} device_1 | {"level":"info","message":"GET /devices/797422a5-a7bc-4d49-96d1-03454004bedf? 200 18ms","method":"GET","requestID":"4de1ecbfe60331d0cd4f86fff5963087","responseTime":18,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling 200 13ms","method":"POST","requestID":"32aa0e60-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"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":"ddc5e2cd-c729-41e0-b21f-3b69f130387c"},{"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":"05c090a2-31e7-48df-ac12-7e3fb2ff9fe0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"61ac22e8-0e1d-4d6a-958b-c59a5ff190fa"}]},"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/797422a5-a7bc-4d49-96d1-03454004bedf"},{"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c68ddedb250a0564e82acd2ae7da59e2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.823154,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"32ac7f60-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.880749,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c68ddedb250a0564e82acd2ae7da59e2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:30.553666984Z"}]},"request_id":"c3218520-bca9-4baa-af21-5bc2f07fabde","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3941436} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c68ddedb250a0564e82acd2ae7da59e2"},"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":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"b65d1938-40cf-4711-a205-65b901f376da","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3983157} device_1 | {"level":"info","message":"GET /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16? 200 14ms","method":"GET","requestID":"c68ddedb250a0564e82acd2ae7da59e2","responseTime":14,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7bf57fa-b813-4ad0-b527-cb49e78ffd46","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.3986578} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c68ddedb250a0564e82acd2ae7da59e2"} 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":"32ac7f60-f803-11ee-94dd-ef446cbc77bc"},"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/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"32ac7f60-f803-11ee-94dd-ef446cbc77bc","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"caab6098-42e9-42c9-a375-38b13bd752b3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.4649305} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.195454,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32b83f30-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"24fe22a2726cd841b138aadd8a47ec28","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf"},{"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/797422a5-a7bc-4d49-96d1-03454004bedf/signaling 200 13ms","method":"POST","requestID":"32b83f30-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"24fe22a2726cd841b138aadd8a47ec28","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"24fe22a2726cd841b138aadd8a47ec28"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c76a6b24-8d58-4d34-b07a-3e3548f1817d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.4790986} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500831,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32ba8920-f803-11ee-94dd-ef446cbc77bc"},"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling 200 10ms","method":"POST","requestID":"32ba8920-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","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/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dd8ecec41092bba04ec8b866c9292dab","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/797422a5-a7bc-4d49-96d1-03454004bedf"},{"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3c8cdbe-08d9-4256-80e9-15f6d89a3f30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"710a3b28-9d6b-4842-8e38-89ae1ef6ff49","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.5244465} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.420581,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","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":"32c18e00-f803-11ee-94dd-ef446cbc77bc"},"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/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30 200 9ms","method":"GET","requestID":"32c18e00-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"dd8ecec41092bba04ec8b866c9292dab","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd8ecec41092bba04ec8b866c9292dab"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f49889e5-ff21-4f61-a6aa-4d8e4540ea2a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.5527701} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.977326,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32c5acb0-f803-11ee-94dd-ef446cbc77bc"},"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/797422a5-a7bc-4d49-96d1-03454004bedf/signaling 200 11ms","method":"POST","requestID":"32c5acb0-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ab88fbf-f530-4c39-ba9d-aa914c4cba9d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.5670578} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.444274,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","rebac_allow":false,"scope_allow":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":"32c7cf90-f803-11ee-94dd-ef446cbc77bc"},"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling 200 12ms","method":"POST","requestID":"32c7cf90-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eddc54f99cae9941f36f0a5981d27b32","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.341823,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"eddc54f99cae9941f36f0a5981d27b32"},"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/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42 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":"eddc54f99cae9941f36f0a5981d27b32"} experiment_1 | {"level":"info","message":"GET /experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42 200 17ms","method":"GET","requestID":"eddc54f99cae9941f36f0a5981d27b32","responseTime":17,"status":200,"url":"/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"153883fa6f426b8258fda6cdfcdc3157","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.358115,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"153883fa6f426b8258fda6cdfcdc3157"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.138567,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"32d5b240-f803-11ee-94dd-ef446cbc77bc"},"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/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78c9ef31dc967b0ff9c95c7cff026f39","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3c8cdbe-08d9-4256-80e9-15f6d89a3f30': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe3c8cdbe-08d9-4256-80e9-15f6d89a3f30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"6eed96b3-5963-46cb-8340-f8ed53b9d101","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.6764405} 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/797422a5-a7bc-4d49-96d1-03454004bedf"},{"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6096125e-cb9a-4e44-9eb0-dd1cbbdef263","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.677128} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b372e255538af5c8e80d488d3f45fc84","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32d5b240-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf"},{"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"e3c8cdbe-08d9-4256-80e9-15f6d89a3f30","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/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30 204 57ms","method":"DELETE","requestID":"32d5b240-f803-11ee-94dd-ef446cbc77bc","responseTime":57,"status":204,"url":"/peerconnections/e3c8cdbe-08d9-4256-80e9-15f6d89a3f30"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F797422a5-a7bc-4d49-96d1-03454004bedf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a59ca00-4cf6-48ec-aeeb-1f67ca53fcec","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.7406623} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.996958,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/797422a5-a7bc-4d49-96d1-03454004bedf","object_type":"device","rebac_allow":false,"scope_allow":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":"32e23560-f803-11ee-94dd-ef446cbc77bc"},"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/797422a5-a7bc-4d49-96d1-03454004bedf/signaling 200 14ms","method":"POST","requestID":"32e23560-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/797422a5-a7bc-4d49-96d1-03454004bedf/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1c0ffab-07e3-48a0-b8b9-290f486f3f42': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe1c0ffab-07e3-48a0-b8b9-290f486f3f42","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"6f3e3c99-a43a-47cf-9098-7c62def4e0d2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.7513304} 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32d5dc98-efa5-487d-892a-4e311017138e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.7518432} 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":"153883fa6f426b8258fda6cdfcdc3157"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6f25f2fa-ea21-45c3-a49e-f150848bfb16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a951f74a-c55f-4aa0-bf9f-434141c9d177","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.7599034} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.386146,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16","object_type":"device","rebac_allow":false,"scope_allow":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":"32e4f480-f803-11ee-94dd-ef446cbc77bc"},"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling 200 16ms","method":"POST","requestID":"32e4f480-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/6f25f2fa-ea21-45c3-a49e-f150848bfb16/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42 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":"153883fa6f426b8258fda6cdfcdc3157"} experiment_1 | {"level":"info","message":"DELETE /experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42 204 184ms","method":"DELETE","requestID":"153883fa6f426b8258fda6cdfcdc3157","responseTime":184,"status":204,"url":"/experiments/e1c0ffab-07e3-48a0-b8b9-290f486f3f42"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.727","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"1dc3fbe7fd3ca1dc86cf42c26e391763"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.716","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fb5fcc975093f0828e0b5c789b71db26"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"78c9ef31dc967b0ff9c95c7cff026f39","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"78c9ef31dc967b0ff9c95c7cff026f39"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"b372e255538af5c8e80d488d3f45fc84","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"b372e255538af5c8e80d488d3f45fc84"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f3239ef7b52b7ad704b24cec13d567a0","responseTime":4,"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/6f25f2fa-ea21-45c3-a49e-f150848bfb16' closed"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.036704,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"f3239ef7b52b7ad704b24cec13d567a0"},"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/797422a5-a7bc-4d49-96d1-03454004bedf' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4387ed14-c196-49d3-a365-09f45e516421","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.8499527} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3239ef7b52b7ad704b24cec13d567a0"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"566ff789-de18-4b3d-9ca7-a390015e38c0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.8559048} 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":"f3239ef7b52b7ad704b24cec13d567a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"20dd5816-f029-43be-aeed-2e5bde73ce69","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.8688905} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d1ab810-7513-4b4b-8c00-57b620b72417","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.869029} 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":"f3239ef7b52b7ad704b24cec13d567a0"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.868853782Z"}]},"request_id":"2a7055a7-0fe1-4e10-8c8b-c209c7acddda","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.874507} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3239ef7b52b7ad704b24cec13d567a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"f3239ef7b52b7ad704b24cec13d567a0","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3239ef7b52b7ad704b24cec13d567a0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2765947da1d5be93a95a8a01c12c029c","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.086787,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840311,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMX0.LZ1FZhhcNWvXGNRjHt7HayFSzmzD1Qni0TrI3-dH3RI"} 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":"2765947da1d5be93a95a8a01c12c029c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4828ac51-4830-42d2-8cb1-0eb0da849b6e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.9014} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2765947da1d5be93a95a8a01c12c029c"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83fbfbef-cec4-4820-82e7-726eb2eaf76b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.9074423} 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":"2765947da1d5be93a95a8a01c12c029c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"9a50abde-3d6a-401d-97bf-5f2720ab1a12","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.9155302} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d17fa06-fe54-4556-b5d9-ff55539d6aa2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.915848} 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":"2765947da1d5be93a95a8a01c12c029c"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.915501356Z"}]},"request_id":"7000bb6f-add2-4c31-8039-11a9c252e90d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840311.9205058} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2765947da1d5be93a95a8a01c12c029c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"2765947da1d5be93a95a8a01c12c029c","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2765947da1d5be93a95a8a01c12c029c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5921ca51ad7a63d68507ae4b8e266195","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794976,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} 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":"5921ca51ad7a63d68507ae4b8e266195"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.868853782Z"}]},"request_id":"fb4e51ff-5c42-4a4c-bf9a-6cf3abc22f33","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.3905485} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b9930676f8d39f9b6c01fd1728c29172","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5921ca51ad7a63d68507ae4b8e266195"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5f0ada5-0465-449a-ab5e-6bd443c75873","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.396942} 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":"5921ca51ad7a63d68507ae4b8e266195"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794106,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9930676f8d39f9b6c01fd1728c29172"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.868853782Z"}]},"request_id":"bceec208-c7b2-4e75-a6e6-6c94b33189c8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.4160137} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5921ca51ad7a63d68507ae4b8e266195"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.915501356Z"}]},"request_id":"e0f25f70-c749-4c51-a30c-154c8385d555","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.4175} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9930676f8d39f9b6c01fd1728c29172"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"PATCH /devices/c257541c-8eca-4db1-bf87-38ce16194335 200 40ms","method":"PATCH","requestID":"5921ca51ad7a63d68507ae4b8e266195","responseTime":40,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c257541c-8eca-4db1-bf87-38ce16194335 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5921ca51ad7a63d68507ae4b8e266195"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"504cd052f357bb804e744c0106d0bdb1","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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a535c1aa-71fe-4fc6-bd0c-1114a284e495","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.4254613} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9930676f8d39f9b6c01fd1728c29172"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.867741,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"504cd052f357bb804e744c0106d0bdb1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.915501356Z"}]},"request_id":"2c898352-63f8-4d8c-8909-e2f18db2aab6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.4381688} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b9930676f8d39f9b6c01fd1728c29172"},"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775 200 46ms","method":"PATCH","requestID":"b9930676f8d39f9b6c01fd1728c29172","responseTime":46,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b9930676f8d39f9b6c01fd1728c29172"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bfd04ccf461c2951ddae3319a37ed09c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c257541c-8eca-4db1-bf87-38ce16194335/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"504cd052f357bb804e744c0106d0bdb1"} device_1 | {"level":"info","message":"POST /devices/c257541c-8eca-4db1-bf87-38ce16194335/websocket 200 21ms","method":"POST","requestID":"504cd052f357bb804e744c0106d0bdb1","responseTime":21,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884425,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} 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":"bfd04ccf461c2951ddae3319a37ed09c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"device 'http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"bfd04ccf461c2951ddae3319a37ed09c"} device_1 | {"level":"info","message":"POST /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/websocket 200 25ms","method":"POST","requestID":"bfd04ccf461c2951ddae3319a37ed09c","responseTime":25,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7d7c52f5b9475426ddd171be4cfba74a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944281,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d7c52f5b9475426ddd171be4cfba74a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.868853782Z"}]},"request_id":"d9cda62b-30f8-477d-ab16-74debf6ba9da","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.5052075} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d7c52f5b9475426ddd171be4cfba74a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c257541c-8eca-4db1-bf87-38ce16194335? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d7c52f5b9475426ddd171be4cfba74a"} device_1 | {"level":"info","message":"GET /devices/c257541c-8eca-4db1-bf87-38ce16194335? 200 16ms","method":"GET","requestID":"7d7c52f5b9475426ddd171be4cfba74a","responseTime":16,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"10301238261eecbf0453da90d9fa600a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746986,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} 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":"10301238261eecbf0453da90d9fa600a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.915501356Z"}]},"request_id":"7b1ea600-de0e-4ad9-b1a8-ac3bcd25e7fc","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.526806} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10301238261eecbf0453da90d9fa600a"},"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775? 200 15ms","method":"GET","requestID":"10301238261eecbf0453da90d9fa600a","responseTime":15,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10301238261eecbf0453da90d9fa600a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c8c69578ae1264d71af45522b32b2fa","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:53134","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.932218,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} 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":"2c8c69578ae1264d71af45522b32b2fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"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:53134","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165065,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33656f20-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658482,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3365bd40-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.868853782Z"}]},"request_id":"b0b786bb-c7c3-452e-8a94-c2529fbe18be","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.6072516} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33656f20-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.915501356Z"}]},"request_id":"02511bea-3a09-4661-bd50-dfaf5482d850","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.608543} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3365bd40-f803-11ee-94dd-ef446cbc77bc"},"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/c257541c-8eca-4db1-bf87-38ce16194335? 200 23ms","method":"GET","requestID":"33656f20-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775? 200 23ms","method":"GET","requestID":"3365bd40-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"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:53134","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.514958,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33717d10-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796469,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} 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":"3371cb30-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb9741e5-0182-4052-8e89-ca74b6875b55","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.6866162} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.235397,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","rebac_allow":false,"scope_allow":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":"33721950-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.868853782Z"}]},"request_id":"89111925-d7cc-4c83-b80d-3c33337a79dd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.6904218} 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":"33717d10-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.915501356Z"}]},"request_id":"e3091d1f-d67b-4896-9939-fef25fe96f07","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.6942701} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3371cb30-f803-11ee-94dd-ef446cbc77bc"},"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/c257541c-8eca-4db1-bf87-38ce16194335/signaling 200 21ms","method":"POST","requestID":"33721950-f803-11ee-94dd-ef446cbc77bc","responseTime":21,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa902557e-c00d-446f-b6cc-224060082122#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa902557e-c00d-446f-b6cc-224060082122","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"f3419d63-5dd7-49be-a659-d2fea146ea3f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.7019577} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9401da5-0051-426b-a690-ac026803ddd2","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.7022004} 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":"2c8c69578ae1264d71af45522b32b2fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} device_1 | {"level":"info","message":"GET /devices/c257541c-8eca-4db1-bf87-38ce16194335? 200 34ms","method":"GET","requestID":"33717d10-f803-11ee-94dd-ef446cbc77bc","responseTime":34,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775? 200 33ms","method":"GET","requestID":"3371cb30-f803-11ee-94dd-ef446cbc77bc","responseTime":33,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b92e20ec-1ea1-4993-83e3-2cb7be3f302f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.709957} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.096614,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","rebac_allow":false,"scope_allow":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":"3375e9e0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 177ms","method":"POST","requestID":"2c8c69578ae1264d71af45522b32b2fa","responseTime":177,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling 200 15ms","method":"POST","requestID":"3375e9e0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c8c69578ae1264d71af45522b32b2fa"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71851efa-5d8b-4a91-93a5-58d116a4ca31","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.7217975} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.147386,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ff103ea6c61c5099575e5d731d39375","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 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":"3377e5b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674008,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c257541c-8eca-4db1-bf87-38ce16194335/signaling 200 12ms","method":"POST","requestID":"3377e5b0-f803-11ee-94dd-ef446cbc77bc","responseTime":12,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff103ea6c61c5099575e5d731d39375"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.868853782Z"}]},"request_id":"3d8383e4-4fdf-4a87-a292-77b61ffec05d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.7329903} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ff103ea6c61c5099575e5d731d39375"},"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:53134","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df68c568-4e62-4768-8b34-28d5225f994f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.7361078} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.768937,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c257541c-8eca-4db1-bf87-38ce16194335? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ff103ea6c61c5099575e5d731d39375"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"337a56b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"GET /devices/c257541c-8eca-4db1-bf87-38ce16194335? 200 15ms","method":"GET","requestID":"0ff103ea6c61c5099575e5d731d39375","responseTime":15,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling 200 10ms","method":"POST","requestID":"337a56b0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"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":"487449b8-fd9a-4d1d-a620-2db8eb4accc3"},{"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":"8143bcd5-37a6-4584-a925-6a6a47013f59"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b0a9a3ba-dd38-4892-bdfa-6346f792eb34"}]},"level":"info","message":"Built pairwise service configurations"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} 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/c257541c-8eca-4db1-bf87-38ce16194335"},{"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"90400b31a156e54969a61b6069e5e387","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:53134","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.954165,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} 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":"337c5280-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66357,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} 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":"90400b31a156e54969a61b6069e5e387"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:31.915501356Z"}]},"request_id":"eebbde6f-d251-479d-8bcb-1c19dca8170c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.7541914} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90400b31a156e54969a61b6069e5e387"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"90400b31a156e54969a61b6069e5e387"} device_1 | {"level":"info","message":"GET /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775? 200 11ms","method":"GET","requestID":"90400b31a156e54969a61b6069e5e387","responseTime":11,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"45256c03-6c32-4d89-93dd-ccb9824d4add","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.757718} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0cc389d-eab0-4621-8db4-2fc3af80ee2e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.7580373} 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":"337c5280-f803-11ee-94dd-ef446cbc77bc"},"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/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"337c5280-f803-11ee-94dd-ef446cbc77bc","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54f7a972-5ea0-4bab-894e-2b051082807a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.8293993} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.796467,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"33886070-f803-11ee-94dd-ef446cbc77bc"},"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/c257541c-8eca-4db1-bf87-38ce16194335/signaling 200 15ms","method":"POST","requestID":"33886070-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ac7c87daf3baa68ff409c1add0a5bca8","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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/c257541c-8eca-4db1-bf87-38ce16194335"},{"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bf17613-d12c-4e9e-aa02-3df9fe2c3959","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.8467824} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84389,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"ac7c87daf3baa68ff409c1add0a5bca8","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"ac7c87daf3baa68ff409c1add0a5bca8"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"338b46a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling 200 16ms","method":"POST","requestID":"338b46a0-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling"} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","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/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ac3aa01b488b4bd18a5f6aafddfb0727","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/c257541c-8eca-4db1-bf87-38ce16194335"},{"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc74a4435-ddd4-4e0d-abca-c1b7e9697e0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53f60d11-6ff2-46f6-b880-2082d9716d59","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.8987308} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.054377,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","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":"339335e0-f803-11ee-94dd-ef446cbc77bc"},"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/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e 200 9ms","method":"GET","requestID":"339335e0-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"ac3aa01b488b4bd18a5f6aafddfb0727","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"ac3aa01b488b4bd18a5f6aafddfb0727"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6da29bcc-fe4f-4691-954a-c67fee904865","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.9300942} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.917232,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3397f0d0-f803-11ee-94dd-ef446cbc77bc"},"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/c257541c-8eca-4db1-bf87-38ce16194335/signaling 200 10ms","method":"POST","requestID":"3397f0d0-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0a61bea-17bc-4243-b333-a5435f59cbc3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840312.9431615} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.497528,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","rebac_allow":false,"scope_allow":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":"3399c590-f803-11ee-94dd-ef446cbc77bc"},"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling 200 14ms","method":"POST","requestID":"3399c590-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f9fafcc7001b2566c4f1375fed0f02c7","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a902557e-c00d-446f-b6cc-224060082122"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.653743,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840312,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxMn0.w9DzlRaT5ZPY6H_78nrlSH9nq-MqZgbRTwQhG7SHSx8"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9fafcc7001b2566c4f1375fed0f02c7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a902557e-c00d-446f-b6cc-224060082122"} experiment_1 | {"level":"info","message":"GET /experiments/a902557e-c00d-446f-b6cc-224060082122 200 19ms","method":"GET","requestID":"f9fafcc7001b2566c4f1375fed0f02c7","responseTime":19,"status":200,"url":"/experiments/a902557e-c00d-446f-b6cc-224060082122"} gateway_1 | {"time_local":"11/Apr/2024:12:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a902557e-c00d-446f-b6cc-224060082122 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9fafcc7001b2566c4f1375fed0f02c7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxM30.OgszCff8btDDr4ZpZpA4XMFJhxTdw-720KZw40U6atE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"64ee05286d64e00e026048ca807632ae","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a902557e-c00d-446f-b6cc-224060082122"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.256128,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840313,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxM30.OgszCff8btDDr4ZpZpA4XMFJhxTdw-720KZw40U6atE"} 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":"64ee05286d64e00e026048ca807632ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.390749,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840313,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxM30.OgszCff8btDDr4ZpZpA4XMFJhxTdw-720KZw40U6atE"} 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":"33a892a0-f803-11ee-94dd-ef446cbc77bc"},"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/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ad953556545669d8fbb6b082dfb6481b","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} 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/c257541c-8eca-4db1-bf87-38ce16194335"},{"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc74a4435-ddd4-4e0d-abca-c1b7e9697e0e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc74a4435-ddd4-4e0d-abca-c1b7e9697e0e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"ce9939c9-8eeb-4546-8d45-e1f989d5fc84","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.0615323} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d1242af-a5a9-4659-b359-45878afaa6ea","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.0622058} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b555057915b744734bb3855cd2892d46","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/c257541c-8eca-4db1-bf87-38ce16194335"},{"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e"}}},"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":"33a892a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"data":{"peerconnection":"c74a4435-ddd4-4e0d-abca-c1b7e9697e0e","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/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e 204 56ms","method":"DELETE","requestID":"33a892a0-f803-11ee-94dd-ef446cbc77bc","responseTime":56,"status":204,"url":"/peerconnections/c74a4435-ddd4-4e0d-abca-c1b7e9697e0e"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/a902557e-c00d-446f-b6cc-224060082122"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc257541c-8eca-4db1-bf87-38ce16194335","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd82c8f1-b4a1-4e7a-84b4-ae7abcd6dee0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.1186771} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.44891,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335","object_type":"device","rebac_allow":false,"scope_allow":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":"33b47980-f803-11ee-94dd-ef446cbc77bc"},"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/c257541c-8eca-4db1-bf87-38ce16194335/signaling 200 15ms","method":"POST","requestID":"33b47980-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/c257541c-8eca-4db1-bf87-38ce16194335/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa902557e-c00d-446f-b6cc-224060082122': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa902557e-c00d-446f-b6cc-224060082122","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"ab134efc-c224-4cbe-aa4b-96c85aee576a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.1288} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2ba6a4b-3671-4213-9a6e-f0269907a340","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.129183} 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":"64ee05286d64e00e026048ca807632ae"},"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:53134","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ec177b3-7feb-42ba-a70b-a864ac3a4775","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e669daf-cd7a-4df1-82b4-d85b5e151ae7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.1375349} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.843141,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775","object_type":"device","rebac_allow":false,"scope_allow":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":"33b738a0-f803-11ee-94dd-ef446cbc77bc"},"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling 200 15ms","method":"POST","requestID":"33b738a0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/9ec177b3-7feb-42ba-a70b-a864ac3a4775/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a902557e-c00d-446f-b6cc-224060082122"} gateway_1 | {"time_local":"11/Apr/2024:12:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a902557e-c00d-446f-b6cc-224060082122 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":"64ee05286d64e00e026048ca807632ae"} gateway_1 | {"time_local":"11/Apr/2024:12:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.719","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"05801bfbf693761e99f2467c52cb8f00"} gateway_1 | {"time_local":"11/Apr/2024:12:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.744","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"07a690132f753cc102f419090fe89d11"} experiment_1 | {"level":"info","message":"DELETE /experiments/a902557e-c00d-446f-b6cc-224060082122 204 179ms","method":"DELETE","requestID":"64ee05286d64e00e026048ca807632ae","responseTime":179,"status":204,"url":"/experiments/a902557e-c00d-446f-b6cc-224060082122"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"ad953556545669d8fbb6b082dfb6481b","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"ad953556545669d8fbb6b082dfb6481b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"b555057915b744734bb3855cd2892d46","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"b555057915b744734bb3855cd2892d46"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxM30.OgszCff8btDDr4ZpZpA4XMFJhxTdw-720KZw40U6atE","level":"info","message":"auth send jwt"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c257541c-8eca-4db1-bf87-38ce16194335' closed"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"32ada62580f5284c5c246c6f7695b1c9","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.95769,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840313,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxM30.OgszCff8btDDr4ZpZpA4XMFJhxTdw-720KZw40U6atE"} 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":"32ada62580f5284c5c246c6f7695b1c9"},"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/9ec177b3-7feb-42ba-a70b-a864ac3a4775' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"113c50f9-8843-428b-9f8a-7e5d2655fe3a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.223687} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32ada62580f5284c5c246c6f7695b1c9"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b569ef15-0008-48b9-b650-ef314c122c96","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.2303216} 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":"32ada62580f5284c5c246c6f7695b1c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"07a66077-d720-43ed-9a31-ef219c9f6589","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.240798} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00af683e-ce09-472c-8746-31db9afb134a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.2410777} 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":"32ada62580f5284c5c246c6f7695b1c9"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.240756027Z"}]},"request_id":"77c781ba-104a-4c59-9ae3-084f4b4fecab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.24699} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32ada62580f5284c5c246c6f7695b1c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"32ada62580f5284c5c246c6f7695b1c9","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32ada62580f5284c5c246c6f7695b1c9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxM30.OgszCff8btDDr4ZpZpA4XMFJhxTdw-720KZw40U6atE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"795749639a3668827e45d76939540e1a","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.00991,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840313,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxM30.OgszCff8btDDr4ZpZpA4XMFJhxTdw-720KZw40U6atE"} 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":"795749639a3668827e45d76939540e1a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"16e6b0b6-049d-4a73-ac46-880243786c3d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.2771287} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"795749639a3668827e45d76939540e1a"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5625d37-5ad6-4c39-bcde-c881239b399f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.2830787} 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":"795749639a3668827e45d76939540e1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"24d3b6be-5957-4ade-9b46-a63fce6396a0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.2937746} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96c51ecd-f3e2-454a-a136-819d87224a41","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.2941074} 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":"795749639a3668827e45d76939540e1a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.293742567Z"}]},"request_id":"ece0815c-823d-437e-8870-d8c9cdad137a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840313.2996771} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"795749639a3668827e45d76939540e1a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"795749639a3668827e45d76939540e1a","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"795749639a3668827e45d76939540e1a"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e079a9806e44e4807633030f84b13dde","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/bfadf135-9082-44a5-ae42-34b6914017be/websocket 200 1ms","method":"OPTIONS","requestID":"e079a9806e44e4807633030f84b13dde","responseTime":1,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bfadf135-9082-44a5-ae42-34b6914017be/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":"e079a9806e44e4807633030f84b13dde"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"90b1ad0bac97002b64611bfd8ce493a6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d5f90d0f33ab63d720c187f04a11824b","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.461313,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/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":"d5f90d0f33ab63d720c187f04a11824b"} device_1 | {"level":"info","message":"OPTIONS /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/websocket 200 1ms","method":"OPTIONS","requestID":"d5f90d0f33ab63d720c187f04a11824b","responseTime":1,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/websocket"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"90b1ad0bac97002b64611bfd8ce493a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5f780b21f921f1eabff64a3234ac8676","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.237275,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f780b21f921f1eabff64a3234ac8676"},"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/bfadf135-9082-44a5-ae42-34b6914017be/websocket 200 49ms","method":"POST","requestID":"90b1ad0bac97002b64611bfd8ce493a6","responseTime":49,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bfadf135-9082-44a5-ae42-34b6914017be/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"90b1ad0bac97002b64611bfd8ce493a6"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/websocket 200 46ms","method":"POST","requestID":"5f780b21f921f1eabff64a3234ac8676","responseTime":46,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/websocket"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5f780b21f921f1eabff64a3234ac8676"} device_1 | {"level":"info","message":"device 'http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3efd3abf6192bfb5e8464cde1216ef72","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926258,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3efd3abf6192bfb5e8464cde1216ef72"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.240756027Z"}]},"request_id":"a2e6d45e-e363-471b-99b2-01d4472919d0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.3628423} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3efd3abf6192bfb5e8464cde1216ef72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3efd3abf6192bfb5e8464cde1216ef72"} device_1 | {"level":"info","message":"GET /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163? 200 17ms","method":"GET","requestID":"3efd3abf6192bfb5e8464cde1216ef72","responseTime":17,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"204bedad41e73089a67d9b0c1dd0e4f3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183517,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"204bedad41e73089a67d9b0c1dd0e4f3"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.293742567Z"}]},"request_id":"fa7ee5eb-ce90-478e-a105-89c68620636d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.3848214} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"204bedad41e73089a67d9b0c1dd0e4f3"},"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/bfadf135-9082-44a5-ae42-34b6914017be? 200 17ms","method":"GET","requestID":"204bedad41e73089a67d9b0c1dd0e4f3","responseTime":17,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bfadf135-9082-44a5-ae42-34b6914017be? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"204bedad41e73089a67d9b0c1dd0e4f3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0445b7200fd9e078f4b9351f8b94bef9","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:53134","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.664202,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"0445b7200fd9e078f4b9351f8b94bef9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"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:53134","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.856356,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"351a9930-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.982202,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"351ae750-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.240756027Z"}]},"request_id":"851d647e-c8af-4652-afdc-e547682ff490","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.4726622} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"351a9930-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.293742567Z"}]},"request_id":"b242da21-8a6a-4da2-847e-cc7366d6c458","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.4742284} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"351ae750-f803-11ee-94dd-ef446cbc77bc"},"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/a0075fa9-84b1-42a7-a0a5-2883e0c74163? 200 23ms","method":"GET","requestID":"351a9930-f803-11ee-94dd-ef446cbc77bc","responseTime":23,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bfadf135-9082-44a5-ae42-34b6914017be? 200 22ms","method":"GET","requestID":"351ae750-f803-11ee-94dd-ef446cbc77bc","responseTime":22,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"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/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.391672,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"352631f0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863819,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"35268010-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.240756027Z"}]},"request_id":"86e73f45-eaa8-42e2-a134-c450b544e3fb","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.5536082} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.293742567Z"}]},"request_id":"0ad49c4c-6574-49de-a356-19d0b2f3cfab","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.555088} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03c7fac9-f684-43b5-b59f-199ca422349e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.5599613} authorization_1 | {"level":"info","message":"POST /relations/query 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"352631f0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:53978","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53978","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.948818,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} device_1 | {"level":"info","message":"GET /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163? 200 33ms","method":"GET","requestID":"352631f0-f803-11ee-94dd-ef446cbc77bc","responseTime":33,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163?"} 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":"35268010-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3526ce30-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":28}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F31d8accd-13bc-46f1-bffb-a6cd908dc951#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F31d8accd-13bc-46f1-bffb-a6cd908dc951","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"bbcd5beb-8004-41a8-9bb6-dfe8f56b9919","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.5663166} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b9833ad-095e-4594-9af0-e01966171a2c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.5667973} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bfadf135-9082-44a5-ae42-34b6914017be? 200 37ms","method":"GET","requestID":"35268010-f803-11ee-94dd-ef446cbc77bc","responseTime":37,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be?"} authorization_1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0445b7200fd9e078f4b9351f8b94bef9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling 200 41ms","method":"POST","requestID":"3526ce30-f803-11ee-94dd-ef446cbc77bc","responseTime":41,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /experiments? 201 188ms","method":"POST","requestID":"0445b7200fd9e078f4b9351f8b94bef9","responseTime":188,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0445b7200fd9e078f4b9351f8b94bef9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e9fb8c7352f61d77adde3b9c15ced539","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df2933bf-b23c-46c7-aa73-5f7b6e83ed71","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.5927296} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f7dd32f-f191-40bd-8602-f1b3d7cfe11f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.592737} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.334842,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":11.192172,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","rebac_allow":false,"scope_allow":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":"352dac00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"352cc1a0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"client_addr":"127.0.0.1:53978","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53978","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9534,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/bfadf135-9082-44a5-ae42-34b6914017be/signaling 200 20ms","method":"POST","requestID":"352dac00-f803-11ee-94dd-ef446cbc77bc","responseTime":20,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling 200 26ms","method":"POST","requestID":"352cc1a0-f803-11ee-94dd-ef446cbc77bc","responseTime":26,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/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":"e9fb8c7352f61d77adde3b9c15ced539"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.240756027Z"}]},"request_id":"bd7c7503-d883-419a-a60f-23d09f84f193","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.6084359} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9fb8c7352f61d77adde3b9c15ced539"},"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:53134","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"950f084f-4709-434f-9e5f-5b55c92e8c78","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.6110132} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.473723,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","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/a0075fa9-84b1-42a7-a0a5-2883e0c74163? 200 17ms","method":"GET","requestID":"e9fb8c7352f61d77adde3b9c15ced539","responseTime":17,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9fb8c7352f61d77adde3b9c15ced539"} 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":"35310760-f803-11ee-94dd-ef446cbc77bc"},"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/bfadf135-9082-44a5-ae42-34b6914017be/signaling 200 9ms","method":"POST","requestID":"35310760-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"bdf5c74a-970e-470c-9bda-4e4efbd750e7"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8a5146f1-dada-450e-a5ae-ba2c5e9e494d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"483fe078-8894-497e-ab93-d06bd069a2cd"}]},"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/a0075fa9-84b1-42a7-a0a5-2883e0c74163"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8550d76b8b81cd63a484e6d9c08eb123","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:53134","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.562003,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"3532b510-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.05293,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8550d76b8b81cd63a484e6d9c08eb123"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:33.293742567Z"}]},"request_id":"f530aaf0-4f12-4879-a1f7-dd43d0ab8fb0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.628236} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8550d76b8b81cd63a484e6d9c08eb123"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bfadf135-9082-44a5-ae42-34b6914017be? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8550d76b8b81cd63a484e6d9c08eb123"} device_1 | {"level":"info","message":"GET /devices/bfadf135-9082-44a5-ae42-34b6914017be? 200 12ms","method":"GET","requestID":"8550d76b8b81cd63a484e6d9c08eb123","responseTime":12,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be?"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"8fa98b67-22bd-4ab7-b898-6c6d64b0fd86","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.6331463} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3df2f7dd-ffa7-4514-b641-e31ac6e5033a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.6333735} 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":"3532b510-f803-11ee-94dd-ef446cbc77bc"},"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/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d'"} 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":"3532b510-f803-11ee-94dd-ef446cbc77bc","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/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e3291e4-34d1-48e9-b9b5-2b3882cccc07","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.691935} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.339738,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","rebac_allow":false,"scope_allow":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":"353d8a80-f803-11ee-94dd-ef446cbc77bc"},"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/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling 200 8ms","method":"POST","requestID":"353d8a80-f803-11ee-94dd-ef446cbc77bc","responseTime":8,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfec7713-dd1c-434c-88f5-5b73e8d32746","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.7026381} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.630314,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"353f1120-f803-11ee-94dd-ef446cbc77bc"},"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/bfadf135-9082-44a5-ae42-34b6914017be/signaling 200 9ms","method":"POST","requestID":"353f1120-f803-11ee-94dd-ef446cbc77bc","responseTime":9,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c16bfc67b7f114daa158dfe1d7aef572","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/a0075fa9-84b1-42a7-a0a5-2883e0c74163"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"c16bfc67b7f114daa158dfe1d7aef572","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"c16bfc67b7f114daa158dfe1d7aef572"} device_1 | {"data":{"peerconnection":"7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","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/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a6b9c94f0e5780a6eedec208c0e57133","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/a0075fa9-84b1-42a7-a0a5-2883e0c74163"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"764acf3b-2492-460c-9f71-f79343b36fa8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.9205258} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.286559,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","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":"355fb880-f803-11ee-94dd-ef446cbc77bc"},"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/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d 200 15ms","method":"GET","requestID":"355fb880-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"a6b9c94f0e5780a6eedec208c0e57133","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6b9c94f0e5780a6eedec208c0e57133"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d0b9a0f-f692-468a-a5fc-d218a8635c6a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.9567316} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.260602,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","rebac_allow":false,"scope_allow":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":"356584e0-f803-11ee-94dd-ef446cbc77bc"},"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/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling 200 14ms","method":"POST","requestID":"356584e0-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f81973fb-d33f-4815-b51f-e7b2943339be","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840315.9734561} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.742491,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","rebac_allow":false,"scope_allow":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":"35681cf0-f803-11ee-94dd-ef446cbc77bc"},"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/bfadf135-9082-44a5-ae42-34b6914017be/signaling 200 14ms","method":"POST","requestID":"35681cf0-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2a3a1b30e70d41cabab95e402b55e632","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.194341,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840315,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNX0.pTrouz0zWBYX55gMENlIrXKmz2P8Ti-qil31wfKf6MY"} 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":"2a3a1b30e70d41cabab95e402b55e632"},"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/31d8accd-13bc-46f1-bffb-a6cd908dc951"} experiment_1 | {"level":"info","message":"GET /experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951 200 16ms","method":"GET","requestID":"2a3a1b30e70d41cabab95e402b55e632","responseTime":16,"status":200,"url":"/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"} gateway_1 | {"time_local":"11/Apr/2024:12:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a3a1b30e70d41cabab95e402b55e632"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNn0.88XV-7uS7VNZsf_drGc7ZNRrOXcmFtFlLDe7a1YCxjk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18f3f44d6812f446560d8463c0a32c12","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.118996,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840316,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNn0.88XV-7uS7VNZsf_drGc7ZNRrOXcmFtFlLDe7a1YCxjk"} 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":"18f3f44d6812f446560d8463c0a32c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.0504,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840316,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNn0.88XV-7uS7VNZsf_drGc7ZNRrOXcmFtFlLDe7a1YCxjk"} 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":"35725620-f803-11ee-94dd-ef446cbc77bc"},"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/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a1ab94191c72a89333f1678bb34bf76d","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7db1a3e9-391b-4cd0-86cf-b06f9b756e1d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"03ad0652-dd1b-40c1-a09e-d16e195e9bce","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.0629833} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c5bda54-9e0f-4cbf-bdf7-2e5b7785ebf9","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.0633638} 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/a0075fa9-84b1-42a7-a0a5-2883e0c74163"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"319fb8904be53528e94f42370b4cb2ec","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35725620-f803-11ee-94dd-ef446cbc77bc"},"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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"7db1a3e9-391b-4cd0-86cf-b06f9b756e1d","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/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d 204 56ms","method":"DELETE","requestID":"35725620-f803-11ee-94dd-ef446cbc77bc","responseTime":56,"status":204,"url":"/peerconnections/7db1a3e9-391b-4cd0-86cf-b06f9b756e1d"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0075fa9-84b1-42a7-a0a5-2883e0c74163","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45eea380-4df7-46d4-882b-845d57ed49e6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.119335} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.687455,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163","object_type":"device","rebac_allow":false,"scope_allow":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":"357e6410-f803-11ee-94dd-ef446cbc77bc"},"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/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling 200 13ms","method":"POST","requestID":"357e6410-f803-11ee-94dd-ef446cbc77bc","responseTime":13,"status":200,"url":"/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163/signaling"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F31d8accd-13bc-46f1-bffb-a6cd908dc951': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F31d8accd-13bc-46f1-bffb-a6cd908dc951","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"17435a29-e398-4af9-b498-ff6bf6b62587","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.1287148} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd111a94-919c-491f-a762-c17cf8c8ad49","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.129122} 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":"18f3f44d6812f446560d8463c0a32c12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbfadf135-9082-44a5-ae42-34b6914017be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8e6ee2d-4c74-49a6-892d-6ab22bbfbe0d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.137611} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.456752,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bfadf135-9082-44a5-ae42-34b6914017be","object_type":"device","rebac_allow":false,"scope_allow":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":"3580d510-f803-11ee-94dd-ef446cbc77bc"},"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/bfadf135-9082-44a5-ae42-34b6914017be/signaling 200 16ms","method":"POST","requestID":"3580d510-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/bfadf135-9082-44a5-ae42-34b6914017be/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"} gateway_1 | {"time_local":"11/Apr/2024:12:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951 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":"18f3f44d6812f446560d8463c0a32c12"} experiment_1 | {"level":"info","message":"DELETE /experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951 204 176ms","method":"DELETE","requestID":"18f3f44d6812f446560d8463c0a32c12","responseTime":176,"status":204,"url":"/experiments/31d8accd-13bc-46f1-bffb-a6cd908dc951"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"a1ab94191c72a89333f1678bb34bf76d","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1ab94191c72a89333f1678bb34bf76d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"319fb8904be53528e94f42370b4cb2ec","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"319fb8904be53528e94f42370b4cb2ec"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNn0.88XV-7uS7VNZsf_drGc7ZNRrOXcmFtFlLDe7a1YCxjk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"44639a147e207067cee33975c7e0b6d6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:12:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"0.879","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"12fc82f94502e3a7a5a35ea85f646be9"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.871308,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840316,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNn0.88XV-7uS7VNZsf_drGc7ZNRrOXcmFtFlLDe7a1YCxjk"} 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":"44639a147e207067cee33975c7e0b6d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"11/Apr/2024:12:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1926","request_time":"0.898","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6a39b758ddd4ac19b7bb670a427591fb"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a0075fa9-84b1-42a7-a0a5-2883e0c74163' 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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe10a94af-8d4f-4dc9-b991-a67f379b73b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7a26c4d1-73d8-40ab-bdd8-9e1691e0b8c7","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.2268944} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44639a147e207067cee33975c7e0b6d6"},"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/bfadf135-9082-44a5-ae42-34b6914017be' 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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f12ebb70-17e4-4309-ad26-3299e83d2278","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.232095} 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":"44639a147e207067cee33975c7e0b6d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe10a94af-8d4f-4dc9-b991-a67f379b73b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"da549b13-4e54-4bd2-8b57-3653f42d2473","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.241302} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bfe9493-480c-44b5-ad46-f631e4879330","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.2414865} 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":"44639a147e207067cee33975c7e0b6d6"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe10a94af-8d4f-4dc9-b991-a67f379b73b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe10a94af-8d4f-4dc9-b991-a67f379b73b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.241279547Z"}]},"request_id":"e8f69fa2-440a-465a-9346-33bff36124c8","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.245705} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44639a147e207067cee33975c7e0b6d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"44639a147e207067cee33975c7e0b6d6","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44639a147e207067cee33975c7e0b6d6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNn0.88XV-7uS7VNZsf_drGc7ZNRrOXcmFtFlLDe7a1YCxjk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"258337061d238e13b3bb0999a97dd35a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.936104,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840316,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxNn0.88XV-7uS7VNZsf_drGc7ZNRrOXcmFtFlLDe7a1YCxjk"} 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":"258337061d238e13b3bb0999a97dd35a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6ab6325-0e0c-48f1-9a56-7484b368be90","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.2742724} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"258337061d238e13b3bb0999a97dd35a"},"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:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06a1f5f5-b1c7-47ae-9bb4-71456454fdd1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.2791123} 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":"258337061d238e13b3bb0999a97dd35a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"ef2a6d91-4a53-4c03-b71e-e82adb0c0a6e","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.287865} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23ae178b-14e2-4f79-bda4-51fd9ae3e380","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.2881382} 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":"258337061d238e13b3bb0999a97dd35a"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.287833095Z"}]},"request_id":"a84e56bc-8315-4569-bb5f-0af101a89779","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840316.2918894} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"258337061d238e13b3bb0999a97dd35a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"258337061d238e13b3bb0999a97dd35a","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:12:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"258337061d238e13b3bb0999a97dd35a"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"08393aa1475cf7f55e230d068dde69ba","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/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":"08393aa1475cf7f55e230d068dde69ba"} device_1 | {"level":"info","message":"OPTIONS /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/websocket 200 1ms","method":"OPTIONS","requestID":"08393aa1475cf7f55e230d068dde69ba","responseTime":1,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc5e8afd3a475f93af3ca055291790b0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202379,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc5e8afd3a475f93af3ca055291790b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/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":"dc5e8afd3a475f93af3ca055291790b0"} device_1 | {"level":"info","message":"POST /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/websocket 200 25ms","method":"POST","requestID":"dc5e8afd3a475f93af3ca055291790b0","responseTime":25,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"83936e5aa5a828c075aab22305ccd9c1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343226,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83936e5aa5a828c075aab22305ccd9c1"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.287833095Z"}]},"request_id":"713a8dd0-d538-4500-b6e8-38e33c3598bd","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.3810196} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83936e5aa5a828c075aab22305ccd9c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83936e5aa5a828c075aab22305ccd9c1"} device_1 | {"level":"info","message":"GET /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131? 200 17ms","method":"GET","requestID":"83936e5aa5a828c075aab22305ccd9c1","responseTime":17,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66588de0985165062f4cf5df38a75a8d","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:53134","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.175058,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} 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":"66588de0985165062f4cf5df38a75a8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"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:53134","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951979,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e10a94af-8d4f-4dc9-b991-a67f379b73b7","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e10a94af-8d4f-4dc9-b991-a67f379b73b7","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} 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":"36e34b40-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680067,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36e39960-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe10a94af-8d4f-4dc9-b991-a67f379b73b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe10a94af-8d4f-4dc9-b991-a67f379b73b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.241279547Z"}]},"request_id":"a5f23c24-1aa7-4849-928f-c895f63f03f6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.4619331} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36e34b40-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.287833095Z"}]},"request_id":"ededc193-0ebb-4c6f-a583-1882ef926504","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.4632494} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36e39960-f803-11ee-94dd-ef446cbc77bc"},"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/e10a94af-8d4f-4dc9-b991-a67f379b73b7? 200 17ms","method":"GET","requestID":"36e34b40-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":200,"url":"/devices/e10a94af-8d4f-4dc9-b991-a67f379b73b7?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131? 200 16ms","method":"GET","requestID":"36e39960-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Attempting to instantiate devices for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298993,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/e10a94af-8d4f-4dc9-b991-a67f379b73b7","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/e10a94af-8d4f-4dc9-b991-a67f379b73b7","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36e82d40-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"0e25502c-2b71-461f-ac9b-372d1e0637d1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.5156386} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f8899fa-c2e8-4c7a-aee7-387d9647c519","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.515792} 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":"36e82d40-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication_1 | {"level":"info","message":"POST /token 201 18ms","method":"POST","requestID":"36ef0b10-f803-11ee-bcb0-5905028b4744","responseTime":18,"status":201,"url":"/token"} device_1 | {"level":"info","message":"POST /devices/e10a94af-8d4f-4dc9-b991-a67f379b73b7?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 70ms","method":"POST","requestID":"36e82d40-f803-11ee-94dd-ef446cbc77bc","responseTime":70,"status":201,"url":"/devices/e10a94af-8d4f-4dc9-b991-a67f379b73b7?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"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:53134","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.745272,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} 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":"36fc7890-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:53136","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.991102,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} 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":"36fcc6b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3817cccf-9508-4b05-b522-22dacb4d1138","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.6350648} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.069999,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","rebac_allow":false,"scope_allow":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":"36fd14d0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:38.515595936Z"}]},"request_id":"8864000d-63d2-4430-bdea-0a4133d7daec","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.638401} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.287833095Z"}]},"request_id":"ff3b820e-3bae-466a-b697-08735c6e827f","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.6408007} 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":"36fc7890-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36fcc6b0-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3511334f-d065-4c59-9a41-f7ebd6c0c108#owner@http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3511334f-d065-4c59-9a41-f7ebd6c0c108","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"3a6e9acd-e1e6-43c9-9e70-95c0644b10e3","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.6496449} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf7fc15a-270f-4edc-a112-6bd1cb1ec500","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.6500378} 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":"66588de0985165062f4cf5df38a75a8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 8dc6ee48-0f0c-4640-92ab-99a94f51c042","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 8dc6ee48-0f0c-4640-92ab-99a94f51c042\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/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"36fd14d0-f803-11ee-94dd-ef446cbc77bc"} device_1 | {"level":"info","message":"POST /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling 404 33ms","method":"POST","requestID":"36fd14d0-f803-11ee-94dd-ef446cbc77bc","responseTime":33,"status":404,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042? 200 39ms","method":"GET","requestID":"36fc7890-f803-11ee-94dd-ef446cbc77bc","responseTime":39,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131? 200 38ms","method":"GET","requestID":"36fcc6b0-f803-11ee-94dd-ef446cbc77bc","responseTime":38,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131?"} experiment_1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 8dc6ee48-0f0c-4640-92ab-99a94f51c042"},"status":404}},"level":"error","message":"Could not send status-update message"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:38Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108","user":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07a967ce-691c-41c3-9719-0305705d336c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840318.6697104} experiment_1 | {"level":"info","message":"POST /experiments? 201 274ms","method":"POST","requestID":"66588de0985165062f4cf5df38a75a8d","responseTime":274,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.993291,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","rebac_allow":false,"scope_allow":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":"37032f50-f803-11ee-94dd-ef446cbc77bc"},"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/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling 200 18ms","method":"POST","requestID":"37032f50-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling"} gateway_1 | {"time_local":"11/Apr/2024:12:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.299","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66588de0985165062f4cf5df38a75a8d"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dd92427361f6da5b984ccadafad96749","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:12:58:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/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":"dd92427361f6da5b984ccadafad96749"} device_1 | {"level":"info","message":"OPTIONS /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/websocket 200 1ms","method":"OPTIONS","requestID":"dd92427361f6da5b984ccadafad96749","responseTime":1,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6ImFLT1ZjVjZDeG82WnpRQ05QUWZhSTZMZWhlMW5MWDROdlg4bUJyazRQS3lxQXRNMWRhMzhEbHdEYVZSSERTQnBmS2x6QzBKSVVaNGFMcG9DYjlfMjl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyMH0.CYihbkmBzlNG-gnBsFi3o88DZYtpkye9GiMd0UXXB9I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3ab47faf64ca23a5456029475406fd09","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.663819,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:40Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","payload":{"admin":true,"edgeToken":"aKOVcV6Cxo6ZzQCNPQfaI6Lehe1nLX4NvX8mBrk4PKyqAtM1da38DlwDaVRHDSBpfKlzC0JIUZ4aLpoCb9_29w","iat":1712840320,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6ImFLT1ZjVjZDeG82WnpRQ05QUWZhSTZMZWhlMW5MWDROdlg4bUJyazRQS3lxQXRNMWRhMzhEbHdEYVZSSERTQnBmS2x6QzBKSVVaNGFMcG9DYjlfMjl3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyMH0.CYihbkmBzlNG-gnBsFi3o88DZYtpkye9GiMd0UXXB9I"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ab47faf64ca23a5456029475406fd09"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3ab47faf64ca23a5456029475406fd09"} device_1 | {"level":"info","message":"POST /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/websocket 200 27ms","method":"POST","requestID":"3ab47faf64ca23a5456029475406fd09","responseTime":27,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/websocket"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c519dfd726272e99094d73a93b51d2e3","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyMH0.k87rkFIhxjUw4V-Eo-i7fdHdgnA6GhJJ74Pdt6rMS44","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"84040bc93dedb63388670b0eb0c23a46","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.348809,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840320,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyMH0.k87rkFIhxjUw4V-Eo-i7fdHdgnA6GhJJ74Pdt6rMS44"} 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":"84040bc93dedb63388670b0eb0c23a46"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:38.515595936Z"}]},"request_id":"d8410c98-e6ec-4c53-b240-a65c4e2fce7a","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840320.7297518} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"c519dfd726272e99094d73a93b51d2e3","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"c519dfd726272e99094d73a93b51d2e3"} 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":"84040bc93dedb63388670b0eb0c23a46"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84040bc93dedb63388670b0eb0c23a46"} device_1 | {"level":"info","message":"GET /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042? 200 22ms","method":"GET","requestID":"84040bc93dedb63388670b0eb0c23a46","responseTime":22,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyMH0.k87rkFIhxjUw4V-Eo-i7fdHdgnA6GhJJ74Pdt6rMS44","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a915bbcfad5147b08836c433e0e11cc2","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:40Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065926,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840320,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyMH0.k87rkFIhxjUw4V-Eo-i7fdHdgnA6GhJJ74Pdt6rMS44"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a915bbcfad5147b08836c433e0e11cc2"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.287833095Z"}]},"request_id":"c064ff7e-39ad-48dc-a25d-371b874a2af1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840320.756324} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a915bbcfad5147b08836c433e0e11cc2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:12:58:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a915bbcfad5147b08836c433e0e11cc2"} device_1 | {"level":"info","message":"GET /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131? 200 17ms","method":"GET","requestID":"a915bbcfad5147b08836c433e0e11cc2","responseTime":17,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131?"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130557,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} 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":"39ff3140-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:43030","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"client_addr":"127.0.0.1:43030","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.051918,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} 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":"39ff7f60-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:38.515595936Z"}]},"request_id":"fee0b0cf-9707-4879-bad9-b4a03e727333","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.6869974} 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":"39ff3140-f803-11ee-94dd-ef446cbc77bc"},"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:57472","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"},"timestamp":"2024-04-11T12:58:36.287833095Z"}]},"request_id":"2788d3db-6431-4919-8ee7-cac701c98f46","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.6890917} 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":"39ff7f60-f803-11ee-94dd-ef446cbc77bc"},"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/8dc6ee48-0f0c-4640-92ab-99a94f51c042? 200 30ms","method":"GET","requestID":"39ff3140-f803-11ee-94dd-ef446cbc77bc","responseTime":30,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3e02feb3-1a4a-4c12-be5e-c92800e71131? 200 30ms","method":"GET","requestID":"39ff7f60-f803-11ee-94dd-ef446cbc77bc","responseTime":30,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77038046-87b7-4f4d-943f-a4b63580bf9d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.7108364} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.40133,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","rebac_allow":false,"scope_allow":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":"3a048870-f803-11ee-94dd-ef446cbc77bc"},"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/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling 200 16ms","method":"POST","requestID":"3a048870-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0afb4392-e284-4fae-a85d-1b95fa8f26e0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.7305076} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.445223,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","rebac_allow":false,"scope_allow":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":"3a076ea0-f803-11ee-94dd-ef446cbc77bc"},"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/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling 200 18ms","method":"POST","requestID":"3a076ea0-f803-11ee-94dd-ef446cbc77bc","responseTime":18,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"843b644d-ff31-434f-b03b-18e148d9f8f0"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e51ec6b9-efcf-4fc5-80aa-031dd53bb910"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"13fcf704-91b4-4f73-a259-0ef7b4d0c97b"}]},"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/8dc6ee48-0f0c-4640-92ab-99a94f51c042"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.395635,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840318,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMxOH0.DDRyPmMJyPt16HPz-xMeZ7Mni_7dIOtnFmmsQ5RfTPE"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","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":"3a0aca00-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","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%2F9c6ad08d-ca61-4839-8eb2-c0f435519202'. 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:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]}},"raw_response":{},"request_id":"4f7a349c-7dc1-4b72-87f8-c43abaddf600","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.765818} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96159805-76c3-4fc3-8900-bccba0e3cb66","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.7663162} 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":"3a0aca00-f803-11ee-94dd-ef446cbc77bc"},"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/4bf23db8-06c1-49d1-b15e-579f5798e30e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e'"} 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":"3a0aca00-f803-11ee-94dd-ef446cbc77bc","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/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7a2c09c-3d02-46e9-b933-d609516cc049","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.8350306} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.724636,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a17e960-f803-11ee-94dd-ef446cbc77bc"},"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/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling 200 11ms","method":"POST","requestID":"3a17e960-f803-11ee-94dd-ef446cbc77bc","responseTime":11,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4cb5d98-d7ca-4e2f-8e94-a087c35e5b3d","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840323.8474872} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.495893,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:43Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a19be20-f803-11ee-94dd-ef446cbc77bc"},"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/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling 200 10ms","method":"POST","requestID":"3a19be20-f803-11ee-94dd-ef446cbc77bc","responseTime":10,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4bf23db8-06c1-49d1-b15e-579f5798e30e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"512dcb90abe88604702a225877fca0c9","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/8dc6ee48-0f0c-4640-92ab-99a94f51c042"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"512dcb90abe88604702a225877fca0c9","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"512dcb90abe88604702a225877fca0c9"} device_1 | {"data":{"peerconnection":"4bf23db8-06c1-49d1-b15e-579f5798e30e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"4bf23db8-06c1-49d1-b15e-579f5798e30e","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/4bf23db8-06c1-49d1-b15e-579f5798e30e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4bf23db8-06c1-49d1-b15e-579f5798e30e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4949e80eaa73e5523b85aa3866825e44","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/8dc6ee48-0f0c-4640-92ab-99a94f51c042"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4bf23db8-06c1-49d1-b15e-579f5798e30e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b9f3263-c207-48f5-a3cc-912861ac4421","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.0624797} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.369522,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e","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":"3a3a3e70-f803-11ee-94dd-ef446cbc77bc"},"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/4bf23db8-06c1-49d1-b15e-579f5798e30e 200 16ms","method":"GET","requestID":"3a3a3e70-f803-11ee-94dd-ef446cbc77bc","responseTime":16,"status":200,"url":"/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"4949e80eaa73e5523b85aa3866825e44","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"4949e80eaa73e5523b85aa3866825e44"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c07e718d-1daf-4e0c-bc2a-7d369333f359","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.101682} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.872727,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","rebac_allow":false,"scope_allow":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":"3a4031e0-f803-11ee-94dd-ef446cbc77bc"},"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/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling 200 15ms","method":"POST","requestID":"3a4031e0-f803-11ee-94dd-ef446cbc77bc","responseTime":15,"status":200,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15cd8d16-077a-450e-a3e0-7be614a98c87","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.1192296} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.551351,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","rebac_allow":false,"scope_allow":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":"3a42f100-f803-11ee-94dd-ef446cbc77bc"},"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/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling 200 14ms","method":"POST","requestID":"3a42f100-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyNH0.8tNX2uMKg9G_tftQifXgT496NCOflWT4Pyt9sYQlwp4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b8946f84eae666fcaf4cbb8017e3465f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.267391,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840324,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyNH0.8tNX2uMKg9G_tftQifXgT496NCOflWT4Pyt9sYQlwp4"} 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":"b8946f84eae666fcaf4cbb8017e3465f"},"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/3511334f-d065-4c59-9a41-f7ebd6c0c108"} experiment_1 | {"level":"info","message":"GET /experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108 200 18ms","method":"GET","requestID":"b8946f84eae666fcaf4cbb8017e3465f","responseTime":18,"status":200,"url":"/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8946f84eae666fcaf4cbb8017e3465f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyNH0.8tNX2uMKg9G_tftQifXgT496NCOflWT4Pyt9sYQlwp4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4c5ca966263dd351da4fb6717e61c8c5","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.315764,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"experiment:http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108","object_type":"experiment","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840324,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyNH0.8tNX2uMKg9G_tftQifXgT496NCOflWT4Pyt9sYQlwp4"} 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":"4c5ca966263dd351da4fb6717e61c8c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.145377,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"peerconnection:http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840324,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyNH0.8tNX2uMKg9G_tftQifXgT496NCOflWT4Pyt9sYQlwp4"} 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":"3a4d0320-f803-11ee-94dd-ef446cbc77bc"},"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/4bf23db8-06c1-49d1-b15e-579f5798e30e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4bf23db8-06c1-49d1-b15e-579f5798e30e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4bf23db8-06c1-49d1-b15e-579f5798e30e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4bf23db8-06c1-49d1-b15e-579f5798e30e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"b1102782-3d2a-49dc-a94e-5cec55a2250c","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.2029335} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f27ff73d-9148-4f04-9841-f96c8784d5ec","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.203419} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 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":"3a4d0320-f803-11ee-94dd-ef446cbc77bc"},"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":"28d67028736910e7024a18a6f3a8e4f5","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"18b9b62bef4f5a56d22bc03b882599f3","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e 204 45ms","method":"DELETE","requestID":"3a4d0320-f803-11ee-94dd-ef446cbc77bc","responseTime":45,"status":204,"url":"/peerconnections/4bf23db8-06c1-49d1-b15e-579f5798e30e"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131'"} device_1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28658,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","payload":{"admin":true,"edgeToken":"PftR9f5_Y_A-6HGc_AgEXw_HPvp_o2LyYXUZeCgIugs08huXfjruqOhdcF3KTTQJOmeMakKB4-kVrLBqAPbe4g","iat":1712840324,"sub":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202","subject_alt":"http://localhost/users/9c6ad08d-ca61-4839-8eb2-c0f435519202"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzljNmFkMDhkLWNhNjEtNDgzOS04ZWIyLWMwZjQzNTUxOTIwMiIsImVkZ2VUb2tlbiI6IlBmdFI5ZjVfWV9BLTZIR2NfQWdFWHdfSFB2cF9vMkx5WVhVWmVDZ0l1Z3MwOGh1WGZqcnVxT2hkY0YzS1RUUUpPbWVNYWtLQjQta1ZyTEJxQVBiZTRnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MDMyNH0.8tNX2uMKg9G_tftQifXgT496NCOflWT4Pyt9sYQlwp4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a545620-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"0495cc43-3dcf-45c7-a126-38f39745ac9b","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.245951} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce585c01-2897-401b-93f9-6c22ac5969f0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.2464106} 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":"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":"3a545620-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"DELETE /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042 204 42ms","method":"DELETE","requestID":"3a545620-f803-11ee-94dd-ef446cbc77bc","responseTime":42,"status":204,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8dc6ee48-0f0c-4640-92ab-99a94f51c042","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12bc539f-5f66-4d12-85d9-ca7dc4d8cb89","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.2991982} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.548027,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042","object_type":"device","rebac_allow":false,"scope_allow":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":"3a5e6840-f803-11ee-94dd-ef446cbc77bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3511334f-d065-4c59-9a41-f7ebd6c0c108': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3511334f-d065-4c59-9a41-f7ebd6c0c108","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F9c6ad08d-ca61-4839-8eb2-c0f435519202"}]},"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","writes":null},"raw_response":{},"request_id":"ffebfacc-c35e-47ec-aae7-bc2617338d59","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.302592} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"id":"01HV6KQE4N70VNRE3G6EY068C1","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1"},"raw_response":{"authorization_model":{"id":"01HV6KQE4N70VNRE3G6EY068C1","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53740733-ed34-4247-8930-d8ab450b56a0","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.3030157} 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":"4c5ca966263dd351da4fb6717e61c8c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} 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/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"3a5e6840-f803-11ee-94dd-ef446cbc77bc"} device_1 | {"level":"info","message":"POST /devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling 404 17ms","method":"POST","requestID":"3a5e6840-f803-11ee-94dd-ef446cbc77bc","responseTime":17,"status":404,"url":"/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042/signaling"} experiment_1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57472","raw_request":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","contextual_tuples":null,"store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e02feb3-1a4a-4c12-be5e-c92800e71131","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45a59950-c0e1-4b07-90b4-e198702e74f6","store_id":"01HV6KQE36WBRNZ52ZRATV4BB1","subsystem":"openfga","timestamp":1712840324.3188272} authorization_1 | {"client_addr":"127.0.0.1:53134","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.602878,"resp_status":200,"subsystem":"opa","time":"2024-04-11T12:58:44Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","openfga":{"authorization_model_id":"01HV6KQE4N70VNRE3G6EY068C1","store":"01HV6KQE36WBRNZ52ZRATV4BB1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131","object_type":"device","rebac_allow":false,"scope_allow":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":"3a617580-f803-11ee-94dd-ef446cbc77bc"},"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/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling 200 14ms","method":"POST","requestID":"3a617580-f803-11ee-94dd-ef446cbc77bc","responseTime":14,"status":200,"url":"/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c5ca966263dd351da4fb6717e61c8c5"} experiment_1 | {"level":"info","message":"DELETE /experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108 204 210ms","method":"DELETE","requestID":"4c5ca966263dd351da4fb6717e61c8c5","responseTime":210,"status":204,"url":"/experiments/3511334f-d065-4c59-9a41-f7ebd6c0c108"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 166ms","method":"POST","requestID":"28d67028736910e7024a18a6f3a8e4f5","responseTime":166,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch","requestID":"28d67028736910e7024a18a6f3a8e4f5"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 164ms","method":"POST","requestID":"18b9b62bef4f5a56d22bc03b882599f3","responseTime":164,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch","requestID":"18b9b62bef4f5a56d22bc03b882599f3"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1926","request_time":"6.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7c458da008d853411a6aa845cfa6f8ac"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1954","request_time":"3.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":"22c8735ed2bc2c9c0182b1b054cff249"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3e02feb3-1a4a-4c12-be5e-c92800e71131' closed"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042' closed"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d7eeaade75e503da07cfbd823d097538","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/8dc6ee48-0f0c-4640-92ab-99a94f51c042"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"d7eeaade75e503da07cfbd823d097538","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:12:58:44 +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":"d7eeaade75e503da07cfbd823d097538"} integration-test_experiment_1 exited with code 143 integration-test_authorization_1 exited with code 0 integration-test_federation_1 exited with code 143 integration-test_device_1 exited with code 143 integration-test_authentication_1 exited with code 143 integration-test_gateway_1 exited with code 0